# HG changeset patch # User Tom Rodriguez # Date 1446066140 25200 # Node ID 6832e10a0b970b04d554ab561efb2bf9e867c2d6 # Parent 8017f84cce74c330254c3db92948dd08933cd405 Fix missing comma and add STATIC_ASSERT to check size of trap name talbe diff -r 8017f84cce74 -r 6832e10a0b97 src/share/vm/runtime/deoptimization.cpp --- a/src/share/vm/runtime/deoptimization.cpp Tue Oct 27 13:33:28 2015 +0100 +++ b/src/share/vm/runtime/deoptimization.cpp Wed Oct 28 14:02:20 2015 -0700 @@ -2119,7 +2119,7 @@ //--------------------------------statics-------------------------------------- Deoptimization::DeoptAction Deoptimization::_unloaded_action = Deoptimization::Action_reinterpret; -const char* Deoptimization::_trap_reason_name[Reason_LIMIT] = { +const char* Deoptimization::_trap_reason_name[] = { // Note: Keep this in sync. with enum DeoptReason. "none", "null_check", @@ -2140,7 +2140,7 @@ "loop_limit_check", "speculate_class_check", "rtm_state_change", - "unstable_if" + "unstable_if", #if INCLUDE_JVMCI "aliasing", "transfer_to_interpreter", @@ -2149,7 +2149,7 @@ "jsr_mismatch" #endif }; -const char* Deoptimization::_trap_action_name[Action_LIMIT] = { +const char* Deoptimization::_trap_action_name[] = { // Note: Keep this in sync. with enum DeoptAction. "none", "maybe_recompile", @@ -2159,6 +2159,9 @@ }; const char* Deoptimization::trap_reason_name(int reason) { + // Check that every reason has a name + STATIC_ASSERT(sizeof(_trap_reason_name)/sizeof(const char*) == Reason_LIMIT); + if (reason == Reason_many) return "many"; if ((uint)reason < Reason_LIMIT) return _trap_reason_name[reason]; @@ -2167,6 +2170,9 @@ return buf; } const char* Deoptimization::trap_action_name(int action) { + // Check that every action has a name + STATIC_ASSERT(sizeof(_trap_action_name)/sizeof(const char*) == Action_LIMIT); + if ((uint)action < Action_LIMIT) return _trap_action_name[action]; static char buf[20]; diff -r 8017f84cce74 -r 6832e10a0b97 src/share/vm/runtime/deoptimization.hpp --- a/src/share/vm/runtime/deoptimization.hpp Tue Oct 27 13:33:28 2015 +0100 +++ b/src/share/vm/runtime/deoptimization.hpp Wed Oct 28 14:02:20 2015 -0700 @@ -410,8 +410,8 @@ static UnrollBlock* fetch_unroll_info_helper(JavaThread* thread); static DeoptAction _unloaded_action; // == Action_reinterpret; - static const char* _trap_reason_name[Reason_LIMIT]; - static const char* _trap_action_name[Action_LIMIT]; + static const char* _trap_reason_name[]; + static const char* _trap_action_name[]; static juint _deoptimization_hist[Reason_LIMIT][1+Action_LIMIT][BC_CASE_LIMIT]; // Note: Histogram array size is 1-2 Kb.