[9] RFR (S): 8172844: Assert fails in deoptimization due to original PC at the end of code section

Zoltán Majó zoltan.majo at oracle.com
Thu Jan 19 13:03:27 UTC 2017


Hi,


please review the fix for 8172844.

https://bugs.openjdk.java.net/browse/JDK-8172844
http://cr.openjdk.java.net/~zmajo/8172844/webrev.00/

The assert checking the "original pc" (i.e., the pc that was on the 
stack before the stack location was overwritten to point to the 
deoptimization handler) is too strict. If the last instruction of the 
(to-be-)deoptimized method is a call, the pc will point to the 
instruction following the call. That instruction is outside of the code 
section (as the call is the last instruction in the code section).

I suggest we relax the assert to accept the original pc being at the end 
of the code section as well. I tested the change with JPRT and locally 
with the reproducer, the failure did not appear. RBT is in progress.

Thank you!

Best regards,


Zoltan



More information about the hotspot-compiler-dev mailing list