< prev index next >

src/hotspot/share/oops/methodData.hpp

Print this page




2227     _backedge_counter_start = backedge_count();
2228   }
2229 
2230   InvocationCounter* invocation_counter()     { return &_invocation_counter; }
2231   InvocationCounter* backedge_counter()       { return &_backedge_counter;   }
2232 
2233 #if INCLUDE_JVMCI
2234   FailedSpeculation** get_failed_speculations_address() {
2235     return &_failed_speculations;
2236   }
2237 #endif
2238 
2239 #if INCLUDE_RTM_OPT
2240   int rtm_state() const {
2241     return _rtm_state;
2242   }
2243   void set_rtm_state(RTMState rstate) {
2244     _rtm_state = (int)rstate;
2245   }
2246   void atomic_set_rtm_state(RTMState rstate) {
2247     Atomic::store((int)rstate, &_rtm_state);
2248   }
2249 
2250   static int rtm_state_offset_in_bytes() {
2251     return offset_of(MethodData, _rtm_state);
2252   }
2253 #endif
2254 
2255   void set_would_profile(bool p)              { _would_profile = p ? profile : no_profile; }
2256   bool would_profile() const                  { return _would_profile != no_profile; }
2257 
2258   int num_loops() const                       { return _num_loops;  }
2259   void set_num_loops(int n)                   { _num_loops = n;     }
2260   int num_blocks() const                      { return _num_blocks; }
2261   void set_num_blocks(int n)                  { _num_blocks = n;    }
2262 
2263   bool is_mature() const;  // consult mileage and ProfileMaturityPercentage
2264   static int mileage_of(Method* m);
2265 
2266   // Support for interprocedural escape analysis, from Thomas Kotzmann.
2267   enum EscapeFlag {




2227     _backedge_counter_start = backedge_count();
2228   }
2229 
2230   InvocationCounter* invocation_counter()     { return &_invocation_counter; }
2231   InvocationCounter* backedge_counter()       { return &_backedge_counter;   }
2232 
2233 #if INCLUDE_JVMCI
2234   FailedSpeculation** get_failed_speculations_address() {
2235     return &_failed_speculations;
2236   }
2237 #endif
2238 
2239 #if INCLUDE_RTM_OPT
2240   int rtm_state() const {
2241     return _rtm_state;
2242   }
2243   void set_rtm_state(RTMState rstate) {
2244     _rtm_state = (int)rstate;
2245   }
2246   void atomic_set_rtm_state(RTMState rstate) {
2247     Atomic::store(&_rtm_state, (int)rstate);
2248   }
2249 
2250   static int rtm_state_offset_in_bytes() {
2251     return offset_of(MethodData, _rtm_state);
2252   }
2253 #endif
2254 
2255   void set_would_profile(bool p)              { _would_profile = p ? profile : no_profile; }
2256   bool would_profile() const                  { return _would_profile != no_profile; }
2257 
2258   int num_loops() const                       { return _num_loops;  }
2259   void set_num_loops(int n)                   { _num_loops = n;     }
2260   int num_blocks() const                      { return _num_blocks; }
2261   void set_num_blocks(int n)                  { _num_blocks = n;    }
2262 
2263   bool is_mature() const;  // consult mileage and ProfileMaturityPercentage
2264   static int mileage_of(Method* m);
2265 
2266   // Support for interprocedural escape analysis, from Thomas Kotzmann.
2267   enum EscapeFlag {


< prev index next >