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