Request for reviews (M): 6833129 : specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot

changpeng fang - Sun Microsystems - Santa Clara United States Changpeng.Fang at Sun.COM
Mon Jul 6 15:06:03 PDT 2009


http://cr.openjdk.java.net/~cfang/6833129/webrev.00/

Problem:
The problem is in intrinsics Object.clone and Arrays.copyOf. When 
de-optimization occurs on the slow path for array/instance
allocation, the Interpreter will continue execution in next bc after the 
slow allocation calls without actual copying.

Solution:
 Add a restart bit in debuginfo to direct the deopt to restart execution 
of the bytecode  that invokes  Object.clone/Arrays.copyOf.
The restart bit is set up in Inline Intrinsics of 
Object.clone/Arrays.copyOf.

Tests:
Passed specjvm98, JPRT and the test case of clone in the bug report.

Thanks,

Changpeng




More information about the hotspot-compiler-dev mailing list