RFR: 8255384: Remove special_runtime_exit_condition() check from SS::block() [v2]
Patricio Chilano Mateo
pchilanomate at openjdk.java.net
Tue Nov 3 17:02:02 UTC 2020
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)?
> 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