Mercurial > hg > truffle
diff src/share/vm/opto/graphKit.cpp @ 1397:b4776199210f
6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
author | never |
---|---|
date | Mon, 26 Apr 2010 23:59:45 -0700 |
parents | 7b4415a18c8a |
children | c18cbe5936b8 2458a1f25356 |
line wrap: on
line diff
--- a/src/share/vm/opto/graphKit.cpp Mon Apr 26 11:27:21 2010 -0700 +++ b/src/share/vm/opto/graphKit.cpp Mon Apr 26 23:59:45 2010 -0700 @@ -812,10 +812,6 @@ JVMState* youngest_jvms = sync_jvms(); - // Do we need debug info here? If it is a SafePoint and this method - // cannot de-opt, then we do NOT need any debug info. - bool full_info = (C->deopt_happens() || call->Opcode() != Op_SafePoint); - // If we are guaranteed to throw, we can prune everything but the // input to the current bytecode. bool can_prune_locals = false; @@ -829,10 +825,9 @@ } } - if (env()->jvmti_can_examine_or_deopt_anywhere()) { + if (env()->jvmti_can_access_local_variables()) { // At any safepoint, this method can get breakpointed, which would // then require an immediate deoptimization. - full_info = true; can_prune_locals = false; // do not prune locals stack_slots_not_pruned = 0; } @@ -890,7 +885,7 @@ k = in_jvms->locoff(); l = in_jvms->loc_size(); out_jvms->set_locoff(p); - if (full_info && !can_prune_locals) { + if (!can_prune_locals) { for (j = 0; j < l; j++) call->set_req(p++, in_map->in(k+j)); } else { @@ -901,7 +896,7 @@ k = in_jvms->stkoff(); l = in_jvms->sp(); out_jvms->set_stkoff(p); - if (full_info && !can_prune_locals) { + if (!can_prune_locals) { for (j = 0; j < l; j++) call->set_req(p++, in_map->in(k+j)); } else if (can_prune_locals && stack_slots_not_pruned != 0) {