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);