src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/compile.cpp	Tue Jan 27 18:25:14 2015
--- new/src/share/vm/opto/compile.cpp	Tue Jan 27 18:25:13 2015

*** 3103,3112 **** --- 3103,3113 ---- } break; default: assert( !n->is_Call(), "" ); assert( !n->is_Mem(), "" ); + assert( nop != Op_ProfileBoolean, "should be eliminated during IGVN"); break; } // Collect CFG split points if (n->is_MultiBranch())
*** 3319,3328 **** --- 3320,3332 ---- // Report if there are too many traps at the current method and bci. // Return true if there was a trap, and/or PerMethodTrapLimit is exceeded. bool Compile::too_many_traps(ciMethod* method, int bci, Deoptimization::DeoptReason reason) { + if (method->has_injected_profile()) { + return false; + } ciMethodData* md = method->method_data(); if (md->is_empty()) { // Assume the trap has not occurred, or that it occurred only // because of a transient condition during start-up in the interpreter. return false;
*** 3368,3377 **** --- 3372,3384 ---- // Is not eager to return true, since this will cause the compiler to use // Action_none for a trap point, to avoid too many recompilations. bool Compile::too_many_recompiles(ciMethod* method, int bci, Deoptimization::DeoptReason reason) { + if (method->has_injected_profile()) { + return false; + } ciMethodData* md = method->method_data(); if (md->is_empty()) { // Assume the trap has not occurred, or that it occurred only // because of a transient condition during start-up in the interpreter. return false;

src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File