[VM] CompiledMethod header format?

Matthew S. Davis mdavis at cse.psu.edu
Sat Dec 30 14:51:36 UTC 2000


Hi Bob (and everyone else who responded - thanks!),

     Boy I feel stupid.  The mask that I "saw" in the bitAnd: message
sent in Interpreter>>bytecodeActivateNewMethod was 16r7F.  It's clearly
16r3F which is 6 bits.

     Thanks for the help!

     -Matthew

On Fri, 29 Dec 2000, Bob Arning wrote:

> On Fri, 29 Dec 2000 20:22:48 -0500 (EST) "Matthew S. Davis" <mdavis at cse.psu.edu> wrote:
> >     I've determined the following header format from the Interpreter
> >methods:
> >
> >bit  0       : constant 1 to indicate SmallInteger
> >bits 1-9     : primitive index
> >bits 10-17   : literal count
> >bit  18      : not used?
> >bits 19-25   : temporary count
> >bits 25-28   : argument count
> >bits 29-31   : primitive index
> >
> >     Could someone please explain why bit 25 is shared between two
> >fields?  I'm not clear why this is the case.  Should the temporary count
> >really be in bit positions 18-24?  If so, it does not look like they are.
> 
> Matthew,
> 
> Temporary count is definitely 6 bits in the header. Where did you see an indication that it was 7?
> 
> And the bit you have marked as unused is the Large/Small context flag.
> 
> Cheers,
> Bob
> 





More information about the Squeak-dev mailing list