< prev index next >

src/hotspot/share/oops/method.hpp

Print this page
*** 62,10 ***
--- 62,11 ---
  class MethodTrainingData;
  class ConstMethod;
  class InlineTableSizes;
  class nmethod;
  class InterpreterOopMap;
+ class AOTCodeEntry;
  
  class Method : public Metadata {
   friend class VMStructs;
   friend class JVMCIVMStructs;
   friend class MethodTest;

*** 100,10 ***
--- 101,13 ---
    // time (whenever a compile completes).  It can transition from not-null to
    // null only at safepoints (because of a de-opt).
    nmethod* volatile _code;                   // Points to the corresponding piece of native code
    volatile address  _from_interpreted_entry; // Cache of _code ? _adapter->i2c_entry() : _i2i_entry
  
+   nmethod*  _preload_code;       // preloaded AOT code
+   AOTCodeEntry* _aot_code_entry; // AOT Code Cache entry for pre-loading code
+ 
    // Constructor
    Method(ConstMethod* xconst, AccessFlags access_flags, Symbol* name);
   public:
  
    static Method* allocate(ClassLoaderData* loader_data,

*** 384,10 ***
--- 388,20 ---
    }
    void set_from_compiled_entry(address entry) {
      _from_compiled_entry =  entry;
    }
  
+   void set_preload_code(nmethod* code) {
+     _preload_code = code;
+   }
+   void set_aot_code_entry(AOTCodeEntry* entry) {
+     _aot_code_entry = entry;
+   }
+   AOTCodeEntry* aot_code_entry() const {
+     return _aot_code_entry;
+   }
+ 
    address get_i2c_entry();
    address get_c2i_entry();
    address get_c2i_unverified_entry();
    address get_c2i_no_clinit_check_entry();
    AdapterHandlerEntry* adapter() const {

*** 598,10 ***
--- 612,11 ---
    // NOTE: code() is inherently racy as deopt can be clearing code
    // simultaneously. Use with caution.
    bool has_compiled_code() const;
  
    bool needs_clinit_barrier() const;
+   bool code_has_clinit_barriers() const;
  
    // sizing
    static int header_size()                       {
      return align_up((int)sizeof(Method), wordSize) / wordSize;
    }
< prev index next >