Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/deoptimization.hpp @ 20439:f6f9aec27858
8030976: Untaken paths should be more vigorously pruned at highest optimization level
Reviewed-by: roland, vlivanov
author | rbackman |
---|---|
date | Wed, 10 Sep 2014 12:39:11 +0200 |
parents | 606acabe7b5c |
children | 43ce58b4717b |
comparison
equal
deleted
inserted
replaced
20438:166d744df0de | 20439:f6f9aec27858 |
---|---|
58 Reason_div0_check, // a null_check due to division by zero | 58 Reason_div0_check, // a null_check due to division by zero |
59 Reason_age, // nmethod too old; tier threshold reached | 59 Reason_age, // nmethod too old; tier threshold reached |
60 Reason_predicate, // compiler generated predicate failed | 60 Reason_predicate, // compiler generated predicate failed |
61 Reason_loop_limit_check, // compiler generated loop limits check failed | 61 Reason_loop_limit_check, // compiler generated loop limits check failed |
62 Reason_speculate_class_check, // saw unexpected object class from type speculation | 62 Reason_speculate_class_check, // saw unexpected object class from type speculation |
63 Reason_unstable_if, // a branch predicted always false was taken | |
63 Reason_rtm_state_change, // rtm state change detected | 64 Reason_rtm_state_change, // rtm state change detected |
64 Reason_LIMIT, | 65 Reason_LIMIT, |
65 // Note: Keep this enum in sync. with _trap_reason_name. | 66 // Note: Keep this enum in sync. with _trap_reason_name. |
66 Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc | 67 Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc |
67 // Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of | 68 // Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of |
313 return reason; | 314 return reason; |
314 else if (reason == Reason_div0_check) // null check due to divide-by-zero? | 315 else if (reason == Reason_div0_check) // null check due to divide-by-zero? |
315 return Reason_null_check; // recorded per BCI as a null check | 316 return Reason_null_check; // recorded per BCI as a null check |
316 else if (reason == Reason_speculate_class_check) | 317 else if (reason == Reason_speculate_class_check) |
317 return Reason_class_check; | 318 return Reason_class_check; |
319 else if (reason == Reason_unstable_if) | |
320 return Reason_intrinsic; | |
318 else | 321 else |
319 return Reason_none; | 322 return Reason_none; |
320 } | 323 } |
321 | 324 |
322 static bool reason_is_speculate(int reason) { | 325 static bool reason_is_speculate(int reason) { |