Request for reviews (XS): 7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check
Christian Thalinger
christian.thalinger at oracle.com
Fri Oct 21 02:17:53 PDT 2011
http://cr.openjdk.java.net/~twisti/7094138/
7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check
Reviewed-by:
InterpreterRuntime::resolve_get_put and
MHN_setCallSiteTargetNormal/MHN_setCallSiteTargetVolatile are calling
Universe::flush_dependents_on under the Compile_lock to make sure the
CallSite target values don't change during a compile in flight. But
both arguments for call_site and target are not held in a Handle but a
plain oop. This can result in stale oops.
Tested with JRuby test_respond_to.rb.
src/share/vm/interpreter/interpreterRuntime.cpp
src/share/vm/prims/methodHandles.cpp
More information about the hotspot-compiler-dev
mailing list