[foreign-memaccess+abi] RFR: 8312473: Return value corrupted when using CCS + isTrivial
Jorn Vernee
jvernee at openjdk.org
Thu Jul 20 20:01:58 UTC 2023
Due to a bug in the downcall linker stub generation, we don't save the return value when capturing call state for trivial calls, and the return value gets corrupted.
The fix is to simply save the return value when capturing call state, regardless of whether the call is trivial or not. In the case of just trivial calls that don't capture call state, we still don't save the return value around slow path calls for the thread state transition (which is not needed), since we don't generate those thread state transitions in the first first place.
I've updated the capture call state test to also test all the cases in trivial mode.
-------------
Commit messages:
- return value corrupted when using CCS + isTrivial
Changes: https://git.openjdk.org/panama-foreign/pull/848/files
Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=848&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8312473
Stats: 39 lines in 5 files changed: 12 ins; 0 del; 27 mod
Patch: https://git.openjdk.org/panama-foreign/pull/848.diff
Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/848/head:pull/848
PR: https://git.openjdk.org/panama-foreign/pull/848
More information about the panama-dev
mailing list