RFR: 8338745: Intrinsify Continuation.pin() and Continuation.unpin()

Markus Grönlund mgronlun at openjdk.org
Thu Aug 22 09:15:04 UTC 2024


On Thu, 22 Aug 2024 09:09:15 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> 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.

The functional requirement I have is that the branch takes an uncommon trap and restarts / re-executes the same method the interpreter, because that version enters the VM where an IllegalStateException is thrown. 

I don't need the compiled method to be invalidated, only that an attempt that over/underflows (thread-local) restarts in the interpeter for the exception to be thrown. Is Action_none better suited for this purpose?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20664#discussion_r1726665198


More information about the core-libs-dev mailing list