[foreign-memaccess+abi] RFR: 8299730: Add trivial call linker option [v5]

Jorn Vernee jvernee at openjdk.org
Mon Jan 30 22:04:24 UTC 2023


On Mon, 30 Jan 2023 21:43:01 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> Add a trivial call linker option. This option acts as a hint to the runtime which indicates that a downcall is extremely short live (comparable to calling an empty function), and does not call back into Java.
>> 
>> Some implementations (like ours) might use this information to apply additional optimizations that are only applicable to trivial functions (dropping thread state transitions).
>> 
>> Note that the VM code diff looks kind of messy, but I essentially just put 3 `if` statements around the code that deals with the thread state transitions before and after the call. This also required moving the declarations of the `Label`s around though (so they are accessible from both ifs on the return path), which is probably messing up the diff view.
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   disable TestTrivialUpcall on zero

The new test that tests that we can't do an upcall when a function is trivial was failing on the `zero` VM. `zero` just ignores the linker option, so it is also impossible to detect. I don't see any merit in trying to make sure that an upcall fails on `zero` though when the linker option is otherwise ignored. So, I've just disabled the test on `zero` instead.

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

PR: https://git.openjdk.org/panama-foreign/pull/771


More information about the panama-dev mailing list