Mercurial > hg > graal-jvmci-8
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); |