RFR: 8287071: Loom: Cleanup x86_64 gen_continuation_enter
Aleksey Shipilev
shade at openjdk.java.net
Fri May 20 16:40:26 UTC 2022
During x86_32 porting, I ended up rewriting the copy of x86_64 gen_continuation_enter significantly to make it more streamlined. The original x86_64 gen_continuation_enter should enjoy the similar streamlining, since it would likely to be the template for many other architectures.
There might be more things to do, I would not know until x86_32 fully works. Therefore, you might treat this PR as work in progress. You might want to take a look meanwhile.
Brief tour of changes:
- Check the incoming registers explicitly
- Pass explicit argument registers to `fill_continuation_entry`
- Use the usual `NativeCall` alignment code to produce a patchable call
- Check that static stub is emitted, fail hard otherwise
- Handle register shuffling for `exception_handler_for_return_address` the similar way we do it in `StubGenerator`
Additional testing:
- [x] Linux x86_64 fastdebug, prospective `jdk_loom hotspot_loom`
-------------
Commit messages:
- Revert test groups
- Fix
Changes: https://git.openjdk.java.net/jdk/pull/8802/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8802&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8287071
Stats: 99 lines in 2 files changed: 43 ins; 13 del; 43 mod
Patch: https://git.openjdk.java.net/jdk/pull/8802.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8802/head:pull/8802
PR: https://git.openjdk.java.net/jdk/pull/8802
More information about the hotspot-dev
mailing list