RFR: 8255384: Remove special_runtime_exit_condition() check from SS::block() [v2]
David Holmes
david.holmes at oracle.com
Tue Nov 3 21:56:27 UTC 2020
On 4/11/2020 3:02 am, Patricio Chilano Mateo wrote:
> On Tue, 3 Nov 2020 02:32:07 GMT, David Holmes <dholmes at openjdk.org> wrote:
>
>> This seems functionally fine, but it still seems to me that we are missing a Safepoint or SafepointMechanism API helper method that does:
>>
>> ```
>> SafepointMechanism::process_if_requested(THREAD);
>> if (THREAD->has_special_runtime_exit_condition()) {
>> THREAD->handle_special_runtime_exit_condition(checkAsyncs);
>> }
>> ```
>>
>> Lets see if others have an opinion.
>> Thanks.
>
> How about SafepointMechanism::process_if_requested_with_exit_check(bool check_asyncs)?
That works for me.
Thanks,
David
-----
>> src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp line 112:
>>
>>> 110: CALL_VM(SafepointMechanism::process_if_requested(THREAD); \
>>> 111: if (THREAD->has_special_runtime_exit_condition()) { \
>>> 112: THREAD->handle_special_runtime_exit_condition(); \
>>
>> Please add explicit arg: "(true /* check asyncs */)"
>>
>> Using a multi-statement code block for the CALL_VM macro looks odd to me, but I find these zero macros unpleasant to begin with.
>
> Yes, that's also why I liked better the TIVFJ wrapper. But if we can agree on the helper method then that would change to a single line.
>
>> src/hotspot/share/runtime/safepoint.cpp line 936:
>>
>>> 934: SafepointMechanism::process_if_requested(self);
>>> 935: if (self->has_special_runtime_exit_condition()) {
>>> 936: self->handle_special_runtime_exit_condition();
>>
>> Please add explicit arg: "(true /* check asyncs */)"
>
> Added.
>
> -------------
>
> PR: https://git.openjdk.java.net/jdk/pull/913
>
More information about the hotspot-runtime-dev
mailing list