// A BasicObjectLock associates a specific Java object with a BasicLock. // It is currently embedded in an interpreter frame.
// Because some machines have alignment restrictions on the control stack, // the actual space allocated by the interpreter may include padding words // after the end of the BasicObjectLock. Also, in order to guarantee // alignment of the embedded BasicLock objects on such machines, we // put the embedded BasicLock at the beginning of the struct.
class BasicObjectLock { friendclass VMStructs; private:
BasicLock _lock; // the lock, must be double word aligned
oop _obj; // object holds the lock;
// Note: Use frame::interpreter_frame_monitor_size() for the size of BasicObjectLocks // in interpreter activation frames since it includes machine-specific padding. staticint size() { returnsizeof(BasicObjectLock)/wordSize; }
// GC support void oops_do(OopClosure* f) { f->do_oop(&_obj); }
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.