RFR: 8146416: java.lang.OutOfMemoryError triggers: assert(current_bci == 0) failed: bci isn't zero for do_not_unlock_if_synchronized

dean.long at oracle.com dean.long at oracle.com
Fri May 27 03:58:37 UTC 2016

Hi Jamsheed.  I agree with Roland: it would be nice to have a fix in 
shared code if possible.  Keep in mind that if the solution is in 
platform-specific code, then that also affects aarch64, ppc64, and our 
closed ports.


On 5/26/16 7:35 PM, Jamsheed C m wrote:
> Hi Roland,
> now i would like to defend my change a bit.
> By checking for any pending runtime exception before return to 
> interpreter, i limit scope of my change and checks to small area of code.
> forward_exception_entry is used for checking any pending exception 
> after runtime calls..
> in this case ,
> forward_exception_entry will work perfectly! as return_pc is used only 
> for finding where to forward  in case of runtime exception!
> and in our case its always interpreter rethrow exception handler, as 
> return_pc is always is in interpreter.
> (return pc here can be either _rethrow_exception_entry, or a 
> deopt_entry).
> interpreter rethrow exception handler is rethrow_exception_entry. 
> return_pc is used only for finding this handler. and it will be always 
> success!
> rethrow_exception_entry will handle exception as expected!
> can i go ahead with this change ?
> Best Regards,
> Jamsheed
> On 5/26/2016 6:05 PM, Roland Westrelin wrote:
>>> On 5/26/2016 4:57 PM, Roland Westrelin wrote:
>>>> We are replacing an existing exception with another one. Why would the
>>>> expression stack matter?
>>> realloc failure in "non exception deoptimization" case.
>> In that case, we do nothing more than the existing code does.
>> Roland.

More information about the hotspot-compiler-dev mailing list