RFR: 8322294: Cleanup NativePostCallNop [v5]
Richard Reingruber
rrich at openjdk.org
Wed Jan 10 12:20:45 UTC 2024
On Wed, 10 Jan 2024 08:55:50 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>> This is a refactoring/cleanup of `NativePostCallNop` that simplifies the ppc64 port (dependent pr https://github.com/openjdk/jdk/pull/17171).
>>
>> * `frame::get_oop_map()` is moved to shared code
>>
>> * encoding / decoding details of the oopmap slot and the CodeBlob offset are moved from shared code to the platform dependent implementations of `bool NativePostCallNop::patch(int32_t oopmap_slot, int32_t cb_offset)` and `bool NativePostCallNop::decode(int32_t& oopmap_slot, int32_t& cb_offset)`
>>
>> The change passed our CI testing. JTReg tests: tier1-4 of hotspot and jdk. All of Langtools and jaxp. SPECjvm2008, SPECjbb2015, Renaissance Suite, and SAP specific tests.
>> All testing was done with fastdebug and release builds on the main platforms and also on Linux/PPC64le and AIX.
>>
>> EDIT 2023-12-22: Statistics
>>
>> The statistical numbers were generated with release builds. For riscv64 I used qemu.
>> The variance is high on all platforms. Up to 80% I think. Numbers with fastdebug are also very different.
>> Nevertheless, they are consistent within one run, and I'd expect errors in encoding or decoding to manifest in the numbers.
>>
>> | test/jdk/java/lang/Thread/virtual/stress/Skynet.java | x86_64: base | x86_64: pr | aarch64: base | aarch64: pr | riscv64: base | riscv64: pr |
>> |------------------------------------------------------|--------------|------------|---------------|-------------|---------------|-------------|
>> | PCN lookup success | 17517455 | 15339681 | 13179049 | 15980253 | 19400110 | 30017193 |
>> | PCN lookup failure | 328164 | 372555 | 237617 | 138164 | 415341 | 586476 |
>> | PCN decode success | 17513991 | 15336485 | 13176061 | 15977651 | 19397398 | 30014226 |
>> | PCN decode failure | 3464 | 3196 | 2988 | 2602 | 2712 | 2967 |
>> | PCN patch success | 2676 | 2465 | 2459 | 2089 | 2214 | 2259 |
>> | PCN patch cb offset failure | 0 | 0 | 0 | 0 | 0 | 0 |
>> | PCN patch oopmap slot failure | 0 | 0 | 0 | 0 | 0 | 0 |
>>
>>
>> | SpecJVM2008 compil...
>
> Richard Reingruber has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>
> - Merge branch 'master'
> - Suggstion Andrew
>
> Co-authored-by: Andrew Haley <aph-open at littlepinkcloud.com>
> - Add newline
> - Review Martin
> - 8322294: Cleanup NativePostCallNop
Tests are good after merging master. Shipping now...
Thanks again for the feedback and reviews!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17150#issuecomment-1884739328
More information about the hotspot-compiler-dev
mailing list