review for 7035161: assert(!o->is_null_object()) failed: null object not yet handled here.

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Apr 8 15:01:58 PDT 2011


Tom Rodriguez wrote:
> On Apr 8, 2011, at 2:51 PM, Vladimir Kozlov wrote:
> 
>> Can we just move it after type() call?:
> 
> I started to do that but we really should be using Handles for safety so I made that change instead.  It's a long enough piece of code that I think a handle is warranted.  Thanks!

OK.

Vladimir

> 
> tom
> 
>>  71   BasicType field_btype = field->type()->basic_type();
>>  72   int offset = field->offset();
>>  69   oop obj = get_oop();
>>  70   assert(obj != NULL, "bad oop");
>>
>> I agree that using handle is much safer and I am fine if you want to push code with handle.
>>
>> Thanks,
>> Vladimir
>>
>> Tom Rodriguez wrote:
>>> http://cr.openjdk.java.net/~never/7035161
>>> 7035161: assert(!o->is_null_object()) failed: null object not yet handled here.
>>> Reviewed-by:
>>> There's a bare oop across the call to ciField::type which might cause
>>> a safepoint resulting in the field being read from a stale oop.
>>> Tested with crashing test nsk.stress.jck12a.jck12a006.jck12a006.
> 


More information about the hotspot-compiler-dev mailing list