RFR: 8265327: Remove check_safepoint_and_suspend_for_native_trans() [v3]

David Holmes dholmes at openjdk.java.net
Thu Apr 22 23:21:27 UTC 2021


On Thu, 22 Apr 2021 17:45:50 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

>> Hi,
>> 
>> Please review this small fix. Method check_safepoint_and_suspend_for_native_trans() can just be removed and the code moved directly to check_special_condition_for_native_trans(). The other caller, transition_from_native(), can also just call SafepointMechanism::process_if_requested_with_exit_check() after transitioning to _thread_in_native_trans. Since that removes the only caller of is_suspend_after_native() I also removed it. 
>> I also made a small fix to has_special_runtime_exit_condition(). The compilers were generating three different comparisons for _suspend_flags instead of combining the constant values and doing a single one (I checked this with gcc 10.2 on linux and clang-12 on macos). The extra code was preventing inlining on some cases. For instance, on a Linux release build with gcc 10.2, for the ThreadInVMfromNative constructor, transition_from_native() was being inlined but not process_if_requested_with_exit_check(), so we still required a call for the fast case. The small change to has_special_runtime_exit_condition() fixed that. 
>> Tested in mach5 tiers1-2.
>> 
>> Thanks,
>> 
>> Patricio
>
> Patricio Chilano Mateo has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
> 
>  - Merge branch 'master' into 8265327
>  - fix typo in comment for check_special_condition_for_native_trans
>  - fix has_special_runtime_exit_condition() to favor inlining
>  - remove is_suspend_after_native()
>  - v1

Marked as reviewed by dholmes (Reviewer).

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

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


More information about the hotspot-runtime-dev mailing list