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