hotspot/src/share/vm/oops/methodData.hpp
changeset 46542 73dd19b96b5d
parent 43489 a07cb821130d
child 46619 a3919f5e8d2b
equal deleted inserted replaced
46541:d20828de9e39 46542:73dd19b96b5d
  2149   friend class VMStructs;
  2149   friend class VMStructs;
  2150   friend class JVMCIVMStructs;
  2150   friend class JVMCIVMStructs;
  2151   CC_INTERP_ONLY(friend class BytecodeInterpreter;)
  2151   CC_INTERP_ONLY(friend class BytecodeInterpreter;)
  2152 private:
  2152 private:
  2153   friend class ProfileData;
  2153   friend class ProfileData;
       
  2154   friend class TypeEntriesAtCall;
  2154 
  2155 
  2155   // Back pointer to the Method*
  2156   // Back pointer to the Method*
  2156   Method* _method;
  2157   Method* _method;
  2157 
  2158 
  2158   // Size of this oop in bytes
  2159   // Size of this oop in bytes
  2171   bool is_methodData() const volatile { return true; }
  2172   bool is_methodData() const volatile { return true; }
  2172   void initialize();
  2173   void initialize();
  2173 
  2174 
  2174   // Whole-method sticky bits and flags
  2175   // Whole-method sticky bits and flags
  2175   enum {
  2176   enum {
  2176     _trap_hist_limit    = 22 JVMCI_ONLY(+5),   // decoupled from Deoptimization::Reason_LIMIT
  2177     _trap_hist_limit    = 23 JVMCI_ONLY(+5),   // decoupled from Deoptimization::Reason_LIMIT
  2177     _trap_hist_mask     = max_jubyte,
  2178     _trap_hist_mask     = max_jubyte,
  2178     _extra_data_count   = 4     // extra DataLayout headers, for trap history
  2179     _extra_data_count   = 4     // extra DataLayout headers, for trap history
  2179   }; // Public flag values
  2180   }; // Public flag values
  2180 private:
  2181 private:
  2181   uint _nof_decompiles;             // count of all nmethod removals
  2182   uint _nof_decompiles;             // count of all nmethod removals
  2300     type_profile_jsr292 = 1,
  2301     type_profile_jsr292 = 1,
  2301     type_profile_all = 2
  2302     type_profile_all = 2
  2302   };
  2303   };
  2303 
  2304 
  2304   static bool profile_jsr292(const methodHandle& m, int bci);
  2305   static bool profile_jsr292(const methodHandle& m, int bci);
       
  2306   static bool profile_unsafe(const methodHandle& m, int bci);
  2305   static int profile_arguments_flag();
  2307   static int profile_arguments_flag();
  2306   static bool profile_all_arguments();
  2308   static bool profile_all_arguments();
  2307   static bool profile_arguments_for_invoke(const methodHandle& m, int bci);
  2309   static bool profile_arguments_for_invoke(const methodHandle& m, int bci);
  2308   static int profile_return_flag();
  2310   static int profile_return_flag();
  2309   static bool profile_all_return();
  2311   static bool profile_all_return();