--- Chaim Frenkel <[EMAIL PROTECTED]> wrote:
> >>>>> "BS" == Benjamin Stuhl <[EMAIL PROTECTED]> writes:
> 
> BS> 1. Bytecode can just be mmap'ed or read in, no
> playing
> BS> around with relocations on loading or games with RVAs
> BS> (which can't be used anyway, since variable RVAs vary
> based
> BS> on what's been allocated or freed earlier).
> 
> (What is an RVA?)

relative virtual address
 
> And how does the actual runtime use a relocatable
> pointer?  If it is
> an offset, then any access becomes an add. And depending
> upon the
> source of the pointer, it would either be a real address
> or an offset.
> 
> Or if everything is a handle, then each access requires
> two fetches.
> And I don't see where you avoided the relocation. The
> handle table
> that would come in with the bytecode would need to be
> adjusted to
> reflect the real address.
> 
> I vaguly can see a TIL that uses machine code linkage
> (real machine code
> jumps) that perhaps could use relative addressing as not
> needing
> relocation. But I'm not sure that all architectures
> support long enough
> relative jumps/calls.
> 
> Doing the actual relocation should be quite fast. I
> believe that all
> current executables have to be relocated upon loading.
> Not to mention
> the calls to shared modules/dlls.
> 
> <chaim>
> -- 
> Chaim Frenkel                                      Nonlinear Knowledge, Inc.
> [EMAIL PROTECTED]                                             +1-718-236-0183

My primary goal (it may not have come accross strongly
enough) in this proposal was sharing bytecode between
threads even with an ithreadsish model (variables are
thread-private, except when explicitly shared). This
requires that the bytecode not contain direct pointers to
variables, but rather references with at least one level of
indirection. Avoiding fixups/relocations and allowing
bytecode to be mmap()ed are additional potential benefits.
But my first goal was to not have one copy of each
subroutine in File::Spec::Functions for each thread I run.

-- BKS


__________________________________________________
Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.
http://im.yahoo.com/

Reply via email to