Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/deoptimization.hpp @ 3345:bad7ecd0b6ed
5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 04 May 2011 13:12:42 -0700 |
parents | 1d1603768966 |
children | 3d2ab563047a |
comparison
equal
deleted
inserted
replaced
3344:0139aac70fb5 | 3345:bad7ecd0b6ed |
---|---|
54 Reason_unhandled, // arbitrary compiler limitation | 54 Reason_unhandled, // arbitrary compiler limitation |
55 Reason_constraint, // arbitrary runtime constraint violated | 55 Reason_constraint, // arbitrary runtime constraint violated |
56 Reason_div0_check, // a null_check due to division by zero | 56 Reason_div0_check, // a null_check due to division by zero |
57 Reason_age, // nmethod too old; tier threshold reached | 57 Reason_age, // nmethod too old; tier threshold reached |
58 Reason_predicate, // compiler generated predicate failed | 58 Reason_predicate, // compiler generated predicate failed |
59 Reason_loop_limit_check, // compiler generated loop limits check failed | |
59 Reason_LIMIT, | 60 Reason_LIMIT, |
60 // Note: Keep this enum in sync. with _trap_reason_name. | 61 // Note: Keep this enum in sync. with _trap_reason_name. |
61 Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc | 62 Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc |
62 // Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of | 63 // Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of |
63 // DataLayout::trap_bits. This dependency is enforced indirectly | 64 // DataLayout::trap_bits. This dependency is enforced indirectly |
76 // Note: Keep this enum in sync. with _trap_action_name. | 77 // Note: Keep this enum in sync. with _trap_action_name. |
77 }; | 78 }; |
78 | 79 |
79 enum { | 80 enum { |
80 _action_bits = 3, | 81 _action_bits = 3, |
81 _reason_bits = 4, | 82 _reason_bits = 5, |
82 _action_shift = 0, | 83 _action_shift = 0, |
83 _reason_shift = _action_shift+_action_bits, | 84 _reason_shift = _action_shift+_action_bits, |
84 BC_CASE_LIMIT = PRODUCT_ONLY(1) NOT_PRODUCT(4) // for _deoptimization_hist | 85 BC_CASE_LIMIT = PRODUCT_ONLY(1) NOT_PRODUCT(4) // for _deoptimization_hist |
85 }; | 86 }; |
86 | 87 |