Because I keep getting this wrong, here is where the pointers in an interpreterState should point. This is a PPC32 frame with a four-word stack with one item pushed onto it and no monitors:

…680 Back chain
…684 LR save word
…688 Padding
…68c
…690 Slop
…694 _stack_limit
…698  
…69c Stack
…6a0 _stack
…6a4  
…6a8 Interpreter state _stack_base, _monitor_base
.
.
.
…6ec

This is the same frame with a monitor allocated:

…680 Back chain
…684 LR save word
…688 Slop
…68c _stack_limit
…690  
…694 Stack
…698 _stack
…69c  
…6a0 Monitor _stack_base
…6a4
…6a8 Interpreter state _monitor_base
.
.
.
…6ec

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.