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

Tom Rodriguez tom.rodriguez at oracle.com
Fri Apr 8 15:01:28 PDT 2011


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!

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