--- old/src/share/vm/runtime/deoptimization.hpp 2011-06-27 11:58:59.264653000 -0700 +++ new/src/share/vm/runtime/deoptimization.hpp 2011-06-27 11:58:59.020176000 -0700 @@ -47,11 +47,12 @@ Reason_array_check, // saw unexpected array class (aastore @bci) Reason_intrinsic, // saw unexpected operand to intrinsic (@bci) Reason_bimorphic, // saw unexpected object class in bimorphic inlining (@bci) + Reason_unhandled, // arbitrary compiler limitation + Reason_unloaded, // unloaded class or constant pool entry Reason_uninitialized, // bad class state (uninitialized) Reason_unreached, // code is not reached, compiler - Reason_unhandled, // arbitrary compiler limitation Reason_constraint, // arbitrary runtime constraint violated Reason_div0_check, // a null_check due to division by zero Reason_age, // nmethod too old; tier threshold reached @@ -59,8 +60,8 @@ Reason_loop_limit_check, // compiler generated loop limits check failed Reason_LIMIT, // Note: Keep this enum in sync. with _trap_reason_name. - Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc - // Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of + Reason_RECORDED_LIMIT = Reason_unhandled // some are not recorded per bc + // Note: Reason_RECORDED_LIMIT should be < 16 to fit into 4 bits of // DataLayout::trap_bits. This dependency is enforced indirectly // via asserts, to avoid excessive direct header-to-header dependencies. // See Deoptimization::trap_state_reason and class DataLayout.