RFR: 8146416: java.lang.OutOfMemoryError triggers: assert(current_bci == 0) failed: bci isn't zero for do_not_unlock_if_synchronized
Jamsheed C m
jamsheed.c.m at oracle.com
Fri May 27 02:35:54 UTC 2016
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