Request for reviews (XS): 7094138: JSR 292: JRuby junit test fails in CallSite.setTargetNormal: obj->is_oop() failed: sanity check

Tom Rodriguez tom.rodriguez at oracle.com
Fri Oct 21 11:20:26 PDT 2011


Looks good.  We should see if we can get this into 7u2.

tom

On Oct 21, 2011, at 2:17 AM, Christian Thalinger wrote:

> 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