src/share/vm/opto/compile.cpp

changeset 7890
bf41eee321e5
parent 7789
eb8b5cc64669
child 7994
04ff2f6cd0eb
child 8068
c1091733abe6
equal deleted inserted replaced
7889:0b7060827bca 7890:bf41eee321e5
3290 // Report if there are too many traps at the current method and bci. 3290 // Report if there are too many traps at the current method and bci.
3291 // Return true if there was a trap, and/or PerMethodTrapLimit is exceeded. 3291 // Return true if there was a trap, and/or PerMethodTrapLimit is exceeded.
3292 bool Compile::too_many_traps(ciMethod* method, 3292 bool Compile::too_many_traps(ciMethod* method,
3293 int bci, 3293 int bci,
3294 Deoptimization::DeoptReason reason) { 3294 Deoptimization::DeoptReason reason) {
3295 if (method->has_injected_profile()) {
3296 return false;
3297 }
3298 ciMethodData* md = method->method_data(); 3295 ciMethodData* md = method->method_data();
3299 if (md->is_empty()) { 3296 if (md->is_empty()) {
3300 // Assume the trap has not occurred, or that it occurred only 3297 // Assume the trap has not occurred, or that it occurred only
3301 // because of a transient condition during start-up in the interpreter. 3298 // because of a transient condition during start-up in the interpreter.
3302 return false; 3299 return false;
3342 // Is not eager to return true, since this will cause the compiler to use 3339 // Is not eager to return true, since this will cause the compiler to use
3343 // Action_none for a trap point, to avoid too many recompilations. 3340 // Action_none for a trap point, to avoid too many recompilations.
3344 bool Compile::too_many_recompiles(ciMethod* method, 3341 bool Compile::too_many_recompiles(ciMethod* method,
3345 int bci, 3342 int bci,
3346 Deoptimization::DeoptReason reason) { 3343 Deoptimization::DeoptReason reason) {
3347 if (method->has_injected_profile()) {
3348 return false;
3349 }
3350 ciMethodData* md = method->method_data(); 3344 ciMethodData* md = method->method_data();
3351 if (md->is_empty()) { 3345 if (md->is_empty()) {
3352 // Assume the trap has not occurred, or that it occurred only 3346 // Assume the trap has not occurred, or that it occurred only
3353 // because of a transient condition during start-up in the interpreter. 3347 // because of a transient condition during start-up in the interpreter.
3354 return false; 3348 return false;

mercurial