comparison src/share/vm/oops/methodData.hpp @ 7384:0d599246de33

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 a39c9249f4be
children ada93fe622d1
comparison
equal deleted inserted replaced
28:0cfb8f78440c 29:59ec59c30351
2094 // Number of loops and blocks is computed when compiling the first 2094 // Number of loops and blocks is computed when compiling the first
2095 // time with C1. It is used to determine if method is trivial. 2095 // time with C1. It is used to determine if method is trivial.
2096 short _num_loops; 2096 short _num_loops;
2097 short _num_blocks; 2097 short _num_blocks;
2098 // Does this method contain anything worth profiling? 2098 // Does this method contain anything worth profiling?
2099 bool _would_profile; 2099 enum WouldProfile {unknown, no_profile, profile};
2100 WouldProfile _would_profile;
2100 2101
2101 // Size of _data array in bytes. (Excludes header and extra_data fields.) 2102 // Size of _data array in bytes. (Excludes header and extra_data fields.)
2102 int _data_size; 2103 int _data_size;
2103 2104
2104 // data index for the area dedicated to parameters. -1 if no 2105 // data index for the area dedicated to parameters. -1 if no
2268 static int rtm_state_offset_in_bytes() { 2269 static int rtm_state_offset_in_bytes() {
2269 return offset_of(MethodData, _rtm_state); 2270 return offset_of(MethodData, _rtm_state);
2270 } 2271 }
2271 #endif 2272 #endif
2272 2273
2273 void set_would_profile(bool p) { _would_profile = p; } 2274 void set_would_profile(bool p) { _would_profile = p ? profile : no_profile; }
2274 bool would_profile() const { return _would_profile; } 2275 bool would_profile() const { return _would_profile != no_profile; }
2275 2276
2276 int num_loops() const { return _num_loops; } 2277 int num_loops() const { return _num_loops; }
2277 void set_num_loops(int n) { _num_loops = n; } 2278 void set_num_loops(int n) { _num_loops = n; }
2278 int num_blocks() const { return _num_blocks; } 2279 int num_blocks() const { return _num_blocks; }
2279 void set_num_blocks(int n) { _num_blocks = n; } 2280 void set_num_blocks(int n) { _num_blocks = n; }