Request for reviews (M): 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Mon Feb 8 11:43:04 PST 2010


Why do you need to record this in the PcDesc?  Why can't you just do:

chunk->at(0)->scope()->method()->return_type() == T_OBJECT

tom

On Feb 8, 2010, at 11:12 AM, Vladimir Kozlov wrote:

> http://cr.openjdk.java.net/~kvn/6910618/webrev.00
> 
> Fixed 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
> 
> Problem:
> If deoptimization happened on the return from a call which
> which returns oop, the oop will be not updated during GC which
> is triggered by scalar replaced objects reallocation.
> 
> Solution:
> Mark in PcDesc call sites which return oop (this is main part of changes)
> and save the result oop across objects reallocation during deoptimization.
> 
> Reviewed by:
> 
> Fix verified (y/n): y, test
> 
> Other testing:
> JPRT
> 



More information about the hotspot-compiler-dev mailing list