RFR: 8329726: Use non-short forward jumps in lightweight locking [v2]

Tobias Hartmann thartmann at openjdk.org
Mon Apr 8 05:09:08 UTC 2024


On Fri, 5 Apr 2024 16:05:23 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> This turns a few short-jumps to long-jumps in x86 lightweight locking code paths. When running with -XX:+ShowMessageBoxOnError, MA::stop() generates more code and jccb is not sufficient to address this.
>> 
>> Two of the jccb are in ASSERT path anyway. However, another is also in a product path. We *could* generate jccb or jcc conditionally on ShowMessageBoxOnError, however, I don't think it is worth the trouble. WDYT?
>> 
>> Unfortunately, I could not make a simple test-case, because ShowMessageBoxOnError stops and waits on error, which would make jtreg time-out.
>> 
>> Testing:
>>  - [x] manual test with dacapo as provided in the bug report
>>  - [ ] tier1
>
> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Shuffle code to preserve short-jump on non-assert paths

> Unfortunately, I could not make a simple test-case, because ShowMessageBoxOnError stops and waits on error, which would make jtreg time-out.

Although a time out is a bit of a confusing failure mode for the test, I think it would be better than no test at all, right?

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

PR Comment: https://git.openjdk.org/jdk/pull/18657#issuecomment-2041871538


More information about the hotspot-compiler-dev mailing list