src/share/vm/runtime/deoptimization.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot-comp-hsx Cdiff src/share/vm/runtime/deoptimization.cpp
src/share/vm/runtime/deoptimization.cpp
Print this page
*** 1486,1495 ****
--- 1486,1498 ----
// one hot trap site, but begins to get fuzzy if there are
// many sites. For example, if there are ten sites each
// trapping two or more times, they each get the blame for
// all of their traps.
make_not_entrant = true;
+ if (per_bc_reason == Reason_unhandled) {
+ make_not_compilable = true;
+ }
}
// Detect repeated recompilation at the same BCI, and enforce a limit.
if (make_not_entrant && maybe_prior_recompile) {
// More than one recompile at this point.
*** 1605,1615 ****
// (pessimistically) to be the culprit.
bool maybe_prior_trap = (prior_trap_count != 0);
bool maybe_prior_recompile = (trap_mdo->decompile_count() != 0);
ProfileData* pdata = NULL;
-
// For reasons which are recorded per bytecode, we check per-BCI data.
DeoptReason per_bc_reason = reason_recorded_per_bytecode_if_any(reason);
if (per_bc_reason != Reason_none) {
// Find the profile data for this BCI. If there isn't one,
// try to allocate one from the MDO's set of spares.
--- 1608,1617 ----
src/share/vm/runtime/deoptimization.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File