comparison src/share/vm/oops/methodData.hpp @ 20651:600c44255e5f

8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations' Summary: Always use MDO if valid and always compile trivial methods with C1 if available. Reviewed-by: kvn, iveresov
author thartmann
date Tue, 11 Nov 2014 11:05:41 +0100
parents 631667807de7
children 7848fc12602b
comparison
equal deleted inserted replaced
20650:f84125b6f69a 20651:600c44255e5f
2097 // Number of loops and blocks is computed when compiling the first 2097 // Number of loops and blocks is computed when compiling the first
2098 // time with C1. It is used to determine if method is trivial. 2098 // time with C1. It is used to determine if method is trivial.
2099 short _num_loops; 2099 short _num_loops;
2100 short _num_blocks; 2100 short _num_blocks;
2101 // Does this method contain anything worth profiling? 2101 // Does this method contain anything worth profiling?
2102 bool _would_profile; 2102 enum WouldProfile {unknown, no_profile, profile};
2103 WouldProfile _would_profile;
2103 2104
2104 // Size of _data array in bytes. (Excludes header and extra_data fields.) 2105 // Size of _data array in bytes. (Excludes header and extra_data fields.)
2105 int _data_size; 2106 int _data_size;
2106 2107
2107 // data index for the area dedicated to parameters. -1 if no 2108 // data index for the area dedicated to parameters. -1 if no
2266 static int rtm_state_offset_in_bytes() { 2267 static int rtm_state_offset_in_bytes() {
2267 return offset_of(MethodData, _rtm_state); 2268 return offset_of(MethodData, _rtm_state);
2268 } 2269 }
2269 #endif 2270 #endif
2270 2271
2271 void set_would_profile(bool p) { _would_profile = p; } 2272 void set_would_profile(bool p) { _would_profile = p ? profile : no_profile; }
2272 bool would_profile() const { return _would_profile; } 2273 bool would_profile() const { return _would_profile != no_profile; }
2273 2274
2274 int num_loops() const { return _num_loops; } 2275 int num_loops() const { return _num_loops; }
2275 void set_num_loops(int n) { _num_loops = n; } 2276 void set_num_loops(int n) { _num_loops = n; }
2276 int num_blocks() const { return _num_blocks; } 2277 int num_blocks() const { return _num_blocks; }
2277 void set_num_blocks(int n) { _num_blocks = n; } 2278 void set_num_blocks(int n) { _num_blocks = n; }