Mercurial > hg > truffle
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; } |