Scaling API-first – The story of a global engineering organization
HotSpot template interpreter memos
1. Objects in Virtual Machine
All java objects have com m on header called oopDesc.
oopDesc has two fields m ark and klass. These fields have the sam e size as
pointer €32- bit in 32- bit VM and 64- bit in 64- bit VM
mark klass
Lowest two bits are used for object state.
Higher bits Low two bits St at e description
Pt r 00 locked Pt r points real header on stack
Header 01 Unlocked Regular object header
Pt r 10 Monitor Inflated lock
Pt r 11 Marked Used by Mark&Sweep to mark obj is not valid
5. Interpreter
_en t r y_t ab l e
Ab st r act In t er p r et er
zerolocals
zerolocals_synchronized
native
native_synchronized
_normal_table empty
_active_table accessor
abstract
_safept_table java_lang_math_sin
java_lang_math_cos
java_lang_math_sqrt
St u b Qu eu e in st an ce
_stub_buffer
D i sp at ch Tab l e
entry indexed by bytecode
atos
itos
ltos In t er p r et er Co d elet
ftos _size
vtos _description
_safe
_bytecode
atos entry instructions
vtos entry for bytecode