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 Fri Jan 16 19:37:25 2015
--- new/src/share/vm/opto/compile.cpp Fri Jan 16 19:37:24 2015
*** 2649,2658 ****
--- 2649,2659 ----
frc.inc_double_count();
break;
case Op_Opaque1: // Remove Opaque Nodes before matching
case Op_Opaque2: // Remove Opaque Nodes before matching
case Op_Opaque3:
+ case Op_Opaque4:
n->subsume_by(n->in(1), this);
break;
case Op_CallStaticJava:
case Op_CallJava:
case Op_CallDynamicJava:
*** 3315,3324 ****
--- 3316,3328 ----
// 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->ignore_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;
*** 3364,3373 ****
--- 3368,3380 ----
// 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->ignore_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