comparison src/share/vm/code/nmethod.hpp @ 3683:345c3bbf9c3c

store RiCompiledMethod in nmethod and: * invalidate RiCompiledMethod when the nmethod is invalidated * invalidate the nmethod when the RiCompiledMethod object is GC'ed
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 18 Nov 2011 11:54:07 +0100
parents be4ca325525a
children 04b9a2566eec
comparison
equal deleted inserted replaced
3682:6c04a4f268e5 3683:345c3bbf9c3c
114 // Shared fields for all nmethod's 114 // Shared fields for all nmethod's
115 methodOop _method; 115 methodOop _method;
116 int _entry_bci; // != InvocationEntryBci if this nmethod is an on-stack replacement method 116 int _entry_bci; // != InvocationEntryBci if this nmethod is an on-stack replacement method
117 jmethodID _jmethod_id; // Cache of method()->jmethod_id() 117 jmethodID _jmethod_id; // Cache of method()->jmethod_id()
118 118
119 oop _graal_compiled_method;
120
119 // To support simple linked-list chaining of nmethods: 121 // To support simple linked-list chaining of nmethods:
120 nmethod* _osr_link; // from instanceKlass::osr_nmethods_head 122 nmethod* _osr_link; // from instanceKlass::osr_nmethods_head
121 nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods 123 nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods
122 nmethod* _saved_nmethod_link; // from CodeCache::speculatively_disconnect 124 nmethod* _saved_nmethod_link; // from CodeCache::speculatively_disconnect
123 125
537 bool can_not_entrant_be_converted(); 539 bool can_not_entrant_be_converted();
538 540
539 // Evolution support. We make old (discarded) compiled methods point to new methodOops. 541 // Evolution support. We make old (discarded) compiled methods point to new methodOops.
540 void set_method(methodOop method) { _method = method; } 542 void set_method(methodOop method) { _method = method; }
541 543
544
545 oop graal_compiled_method() { return _graal_compiled_method; }
546 void set_graal_compiled_method(oop compiled_method) { _graal_compiled_method = compiled_method; }
547
542 // GC support 548 // GC support
543 void do_unloading(BoolObjectClosure* is_alive, OopClosure* keep_alive, 549 void do_unloading(BoolObjectClosure* is_alive, OopClosure* keep_alive,
544 bool unloading_occurred); 550 bool unloading_occurred);
545 bool can_unload(BoolObjectClosure* is_alive, OopClosure* keep_alive, 551 bool can_unload(BoolObjectClosure* is_alive, OopClosure* keep_alive,
546 oop* root, bool unloading_occurred); 552 oop* root, bool unloading_occurred);