RFR: 8146416: java.lang.OutOfMemoryError triggers: assert(current_bci == 0) failed: bci isn't zero for do_not_unlock_if_synchronized
Roland Westrelin
rwestrel at redhat.com
Wed Jun 1 16:25:45 UTC 2016
>> It's already addressed now. It was added by 6898462. What this bug shows
>> is that it doesn't work in all cases. I'd like to know what cases are
>> not covered. Is it only Unpack_exception or is there another one?
> 1) Unpack_exception
> 2) deopt without unpack_exception( i didnt write a test case for this)
> 3) Uncommon_trap
What I see from the code of vframeArrayElement::unpack_on_stack():
case Deoptimization::Unpack_uncommon_trap:
case Deoptimization::Unpack_reexecute:
// redo last byte code
pc = Interpreter::deopt_entry(vtos, 0);
both Unpack_uncommon_trap/Unpack_reexecute are fine. Unpack_exception is
always a problem because it doesn't return to a deopt entry.
Unpack_deopt is sometimes a problem because it doesn't return to a deopt
entry, sometimes (for bytecodes return and athrow).
Roland.
More information about the hotspot-compiler-dev
mailing list