RFR(T): 8229925: [s390] Exception check missing in interpreter

Doerr, Martin martin.doerr at sap.com
Wed Aug 21 14:46:03 UTC 2019


Hi David,

> Update looks good.
Thanks.

> The fact we may generate an OOME suggests straight away that we may hit
> a safepoint which violates the rules for JRT_LEAF.
No, just the pre-allocated Universe::_out_of_memory_error_metaspace or Universe::_out_of_memory_error_class_metaspace may get installed.
JRT_LEAF contains a NoSafepointVerifier so we should notice a violation.

> If it were a leaf then the exception check would be missing,
> reintroducing the test failure that highlighted the issue.
Note that the safepoint at which the async exception gets installed is part of the ThreadInVMfromJava destructor.
And InterpreterRuntime::build_method_counters uses CLEAR_PENDING_EXCEPTION before that.
If we use JRT_LEAF: no safepoint => no exception at this point.

> Thread* THREAD = thread;
> 
> would be clearer (and consistent with VM_ENTRY macros)
Agreed.

Best regards,
Martin



More information about the hotspot-runtime-dev mailing list