RFR: 8008243: Zero: Implement fast bytecodes [v3]
Aleksey Shipilev
shade at openjdk.java.net
Thu Nov 4 10:44:32 UTC 2021
> This work improves Zero performance considerably, without complicating the interpreter all that much. This work is based on much earlier patch by @rkennke, then edited by @jerboaa, and finally polished by me here :)
>
> SPECjvm benchmarks improve across the board, with lowest improvement on `Derby` (+6%) and largest on `Compress` (+50%). Given that Zero is used to implement the JVM on emerging platforms that are still rather slow themselves, it makes sense to make Zero quantifiably faster. Even 10% improvement means more than 2 hours a day worth of CPU time.
>
> Additional testing:
> - [x] Linux x86_64 Zero fastdebug bootcycle-images
> - [x] Linux x86_64 Zero fastdebug `tier1`
> - [x] Linux x86_64 Zero fastdebug fuzzer tests (no failures = no new behaviors introduced)
Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
- Merge branch 'master' into JDK-8008243-zero-fast-bytecodes
- Merge branch 'master' into JDK-8008243-zero-fast-bytecodes
- Rework feature flag as template argument
- Guard the rewrites with feature flags
- Remove shadowing "obj" to fix JVMTI tests
- Comment _fast_zputfield LSB
- MAYBE_POST_FIELD_MODIFICATION should check _putstatic
- Base implementation
-------------
Changes: https://git.openjdk.java.net/jdk/pull/1938/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1938&range=02
Stats: 600 lines in 4 files changed: 525 ins; 56 del; 19 mod
Patch: https://git.openjdk.java.net/jdk/pull/1938.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1938/head:pull/1938
PR: https://git.openjdk.java.net/jdk/pull/1938
More information about the hotspot-runtime-dev
mailing list