At 06:07 PM 9/25/2001 -0700, Benjamin Stuhl wrote:
>Just to make sure that it's making the _right_ sense, the
>fixup section is basically our single level of indirection
>so that we can make the bytecode itself be
>position-independant, right?

Yup.

>But why store it in this
>format? What we really need to store is the list of what we
>expect in the table and where.

We have 8 bytes per entry. We can store a lot in there. :)

>Can't we just have the bytecode header
>have
>
>int32 *data_template;
>int32 fixup_space_needed;
>
>and build the final table as needed?

If we do that, the fixup section won't be part of the same section of 
memory as the bytecode, which means we'll need to touch at least some of 
the actual bytecode so we can set the absolute address of the fixups. 
Sticking it on the end means we can access it relatively, and padding to 8k 
means the section should start on its own memory page so we won't be making 
a private copy of anything but the fixup section.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to