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
Mon Oct 24 02:13:54 PDT 2011


I just remembered that there's also some code in Unsafe:

http://cr.openjdk.java.net/~twisti/7094138/src/share/vm/prims/unsafe.cpp.udiff.html

I really need to get 7087357 in...

-- Chris

On Oct 21, 2011, at 8:30 PM, Christian Thalinger wrote:

> 
> On Oct 21, 2011, at 8:20 PM, Tom Rodriguez wrote:
> 
>> Looks good.  We should see if we can get this into 7u2.
> 
> Yes, I agree.  -- Chris
> 
>> 
>> 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