Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.hpp Fri Nov 18 11:52:59 2011 +0100 +++ b/src/share/vm/code/nmethod.hpp Fri Nov 18 11:54:07 2011 +0100 @@ -116,6 +116,8 @@ int _entry_bci; // != InvocationEntryBci if this nmethod is an on-stack replacement method jmethodID _jmethod_id; // Cache of method()->jmethod_id() + oop _graal_compiled_method; + // To support simple linked-list chaining of nmethods: nmethod* _osr_link; // from instanceKlass::osr_nmethods_head nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods @@ -539,6 +541,10 @@ // Evolution support. We make old (discarded) compiled methods point to new methodOops. void set_method(methodOop method) { _method = method; } + + oop graal_compiled_method() { return _graal_compiled_method; } + void set_graal_compiled_method(oop compiled_method) { _graal_compiled_method = compiled_method; } + // GC support void do_unloading(BoolObjectClosure* is_alive, OopClosure* keep_alive, bool unloading_occurred);