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) { |