Mercurial > hg > truffle
diff src/share/vm/ci/ciMethod.cpp @ 780:c96bf21b756f
6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
author | kvn |
---|---|
date | Fri, 08 May 2009 10:44:20 -0700 |
parents | e5b0439ef4ae |
children | 3a2aa26bdc58 |
line wrap: on
line diff
--- a/src/share/vm/ci/ciMethod.cpp Fri May 08 10:34:31 2009 -0700 +++ b/src/share/vm/ci/ciMethod.cpp Fri May 08 10:44:20 2009 -0700 @@ -60,7 +60,8 @@ _flow = NULL; #endif // COMPILER2 - if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { + ciEnv *env = CURRENT_ENV; + if (env->jvmti_can_hotswap_or_post_breakpoint() && _is_compilable) { // 6328518 check hotswap conditions under the right lock. MutexLocker locker(Compile_lock); if (Dependencies::check_evol_method(h_m()) != NULL) { @@ -84,7 +85,6 @@ if (_can_be_statically_bound && h_m()->is_abstract()) _can_be_statically_bound = false; - ciEnv *env = CURRENT_ENV; // generating _signature may allow GC and therefore move m. // These fields are always filled in. _name = env->get_object(h_m()->name())->as_symbol(); @@ -337,7 +337,7 @@ _liveness->compute_liveness(); } MethodLivenessResult result = _liveness->get_liveness_at(bci); - if (JvmtiExport::can_access_local_variables() || DeoptimizeALot || CompileTheWorld) { + if (CURRENT_ENV->jvmti_can_access_local_variables() || DeoptimizeALot || CompileTheWorld) { // Keep all locals live for the user's edification and amusement. result.at_put_range(0, result.size(), true); }