RFR: 8273143: Transition to _thread_in_vm when handling a polling page exception [v2]

Richard Reingruber rrich at openjdk.java.net
Wed Jan 12 11:11:25 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

Hi Patricio,

I have conducted stress tests with `-XX:+DeoptimizeObjectsALot` running 25 SPECjvm2008 instances concurrently (~400 runs in total) over night successfully.

The change looks good to me. I really do like the simplifications it brings.

Thanks, Richard.

-------------

Marked as reviewed by rrich (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7009


More information about the hotspot-runtime-dev mailing list