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 14:51:41 PDT 2011


Can we just move it after type() call?:

   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