RFR: 8338745: Intrinsify Continuation.pin() and Continuation.unpin()
Tobias Hartmann
thartmann at openjdk.org
Thu Aug 22 09:15:04 UTC 2024
On Thu, 22 Aug 2024 07:14:29 GMT, Dean Long <dlong at openjdk.org> wrote:
>> src/hotspot/share/opto/library_call.cpp line 3787:
>>
>>> 3785: set_all_memory(input_memory_state);
>>> 3786: uncommon_trap_exact(Deoptimization::Reason_intrinsic,
>>> 3787: Deoptimization::Action_reinterpret);
>>
>> Why do you use `Action_reinterpret` and not `Action_make_not_entrant` here?
>>
>> You may need a check to avoid endless re-compilation of a method that always hits the trap:
>>
>> if (too_many_traps(Deoptimization::Reason_intrinsic)) {
>> return false;
>> }
>>
>>
>> See other intrinsics.
>
> A pin_count overflow/underflow should be a per-thread condition, not global. If there is nothing in the nmethod to be invalidated, maybe this should be `Action_none`?
Right, that would make sense to me because `Deoptimization::Action_reinterpret` might also invalidate the nmethod.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20664#discussion_r1726664123
More information about the hotspot-compiler-dev
mailing list