Lines Matching refs:nmethod

84 // An nmethod contains:
85 // - header (the nmethod structure)
88 // - constant part (doubles, longs and floats used in nmethod)
109 class nmethod : public CodeBlob {
114 // Shared fields for all nmethod's
116 int _entry_bci; // != InvocationEntryBci if this nmethod is an on-stack replacement method
120 nmethod* _osr_link; // from instanceKlass::osr_nmethods_head
121 nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods
122 nmethod* _saved_nmethod_link; // from CodeCache::speculatively_disconnect
124 static nmethod* volatile _oops_do_mark_nmethods;
125 nmethod* volatile _oops_do_mark_link;
127 AbstractCompiler* _compiler; // The compiler which compiled this nmethod
134 // Offsets for different nmethod parts
162 int _compile_id; // which compilation made this nmethod
172 // used by jvmti to track if an unload event has been posted for this nmethod.
196 // Nmethod Flushing lock. If non-zero, then the nmethod is not removed
197 // and is not made into a zombie. However, once the nmethod is made into
230 nmethod(methodOop method,
242 nmethod(methodOop method,
250 nmethod(methodOop method,
270 // Returns true if this thread changed the state of the nmethod or
286 // create nmethod with entry_bci
287 static nmethod* new_nmethod(methodHandle method,
302 static nmethod* new_native_nmethod(methodHandle method,
314 // like an nmethod as far as the rest of the system is concerned
316 static nmethod* new_dtrace_nmethod(methodHandle method,
401 // Make the nmethod non entrant. The nmethod will continue to be
403 // if this thread changed the state of the nmethod or false if
483 nmethod* scavenge_root_link() const { return _scavenge_root_link; }
484 void set_scavenge_root_link(nmethod *n) { _scavenge_root_link = n; }
486 nmethod* saved_nmethod_link() const { return _saved_nmethod_link; }
487 void set_saved_nmethod_link(nmethod *n) { _saved_nmethod_link = n; }
506 int osr_entry_bci() const { assert(is_osr_method(), "wrong kind of nmethod"); return _entry_bci; }
507 address osr_entry() const { assert(is_osr_method(), "wrong kind of nmethod"); return _osr_entry_point; }
509 nmethod* osr_link() const { return _osr_link; }
510 void set_osr_link(nmethod *n) { _osr_link = n; }
512 // tells whether frames described by this nmethod can be deoptimized
523 // unlink and deallocate this nmethod
531 // When true is returned, it is unsafe to remove this nmethod even if
636 // Prints block-level comments, including nmethod specific block labels:
673 // dependent on the given method. Returns true if this nmethod
689 static int verified_entry_point_offset() { return offset_of(nmethod, _verified_entry_point); }
690 static int osr_entry_point_offset() { return offset_of(nmethod, _osr_entry_point); }
691 static int entry_bci_offset() { return offset_of(nmethod, _entry_bci); }
695 // Locks an nmethod so its code will not get removed and it will not
697 // nmethod becomes a zombie, if CompiledMethodUnload event processing
701 nmethod* _nm;
708 static void lock_nmethod(nmethod* nm, bool zombie_ok = false);
709 static void unlock_nmethod(nmethod* nm); // (ditto)
712 nmethodLocker(nmethod *nm) { _nm = nm; lock_nmethod(_nm); }
716 nmethod* code() { return _nm; }
717 void set_code(nmethod* new_nm) {