RFR: 8273143: Transition to _thread_in_vm when handling a polling page exception [v2]
David Holmes
dholmes at openjdk.java.net
Mon Jan 17 05:35:31 UTC 2022
On Mon, 10 Jan 2022 19:05:54 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:
>> Please review this small cleanup patch. Being in a state of _thread_in_vm when executing safepoint/handshake and handle_special_runtime_exit_condition() related methods is not only more appropriate, since we are already in the VM, but it also makes the code more simple and avoids some hurdles that we otherwise face in the processing logic: having to check multiple valid states for safepoint code, transition wrapper for state bookkeeping in handshake code, having to manually switch to _thread_blocked and back because we cannot use transition wrappers in wait_for_object_deoptimization(), and another switch statement based on thread state in check_and_handle_async_exceptions(). I already cleaned up most callers as part of other patches. The only one remaining which is being fixed with this patch is method handle_polling_page_exception().
>>
>> Tested in mach5 tiers 1-6.
>>
>> Thanks,
>> Patricio
>
> Patricio Chilano Mateo has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix copyrights to 2022
src/hotspot/share/runtime/safepoint.cpp line 973:
> 971: // as otherwise we may never deliver it.
> 972: if (self->has_async_exception_condition()) {
> 973: ThreadInVMfromJava __tiv(self, false /* check asyncs */);
Hi Patricio,
The ThreadInVMfromJava destructor has some non-trivial actions that are now elided. It isn't obvious to me how we know they are not needed here. ??
Thanks,
David
-------------
PR: https://git.openjdk.java.net/jdk/pull/7009
More information about the hotspot-runtime-dev
mailing list