Jason --

Originally, I considered adding an optable segment to the packfile format 
and no useop op.

After considering useop, I found the idea of a conventional (but 
technically optional, TMTOWTDI) preamble
and the ability to modify the optable while running intriguing.

There is value to using an optable segment to pick the ops for the code 
segment, even if none of the more
dynamic stuff is done.

Retaining the ability to modify the optable at runtime is still 
interesting, to me. It essentially makes the
optable a shortcut for the useop preamble. However, retaining this ability 
means that any generic
disassembler will have to be useop aware, which is what I think you are 
trying to avoid.


Regards,

-- Gregor





Jason Gloudon <[EMAIL PROTECTED]>
11/04/2002 11:41 AM
 
        To:     [EMAIL PROTECTED]
        cc:     Leopold Toetsch <[EMAIL PROTECTED]>, Brent Dax <[EMAIL PROTECTED]>, "'Andy 
Dougherty'" <[EMAIL PROTECTED]>, Josh Wilmes <[EMAIL PROTECTED]>, 
"'Perl6 Internals'" <[EMAIL PROTECTED]>
        Subject:        Re: Need for fingerprinting? [was: Re: What to do if 
Digest::MD5 is 
unavailable?]


On Sun, Nov 03, 2002 at 04:59:22PM -0500, [EMAIL PROTECTED] wrote:

> What I advocate is having possibly only one (maybe too extreme, but 
> doable) built-in op pre-loaded
> at opcode zero. This op's name is "useop", and its arguments give an 
> opcode (optable index), and
> sufficent information for the interpreter to chase down the opinfo (and 
> opfunc). In the best scenario, this

One question this raises is where does this initialization occur ?

I think the information that would be encoded in these instructions should
normally go into a metadata section of the bytecode stored on disk. Having 
to
pseudo-execute the bytecode in order to disassemble seems unnecessary. I 
think
keeping this information separete from the executable section will make 
the
code generators simpler as well.

-- 
Jason


Reply via email to