RFR: 8287396 LIR_Opr::vreg_number() and data() can return negative number [v2]

Dean Long dlong at openjdk.java.net
Sat May 28 02:25:36 UTC 2022


On Sat, 28 May 2022 02:21:35 GMT, Dean Long <dlong at openjdk.org> wrote:

>> This PR does two things:
>> - reverts the incorrect change to non_data_bits that included pointer_bits
>> - treats the data() as an unsigned int to prevent a high bit being treated as a negative number
>
> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
> 
>   set vreg_max to a more reasonable limit (10000)

I set vreg_max to 10,000.   I tried 1,000 first, but there were a few cases during testing where this would cause a bailout on hot methods.  With 10,000, only CTW (forced compile of cold methods) and the TestTooManyVirtualRegistersMain.java stress test hit the limit.  At 10,000 virtual registers, bailout happens after 8 seconds on a aarch64 debug build.

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

PR: https://git.openjdk.java.net/jdk/pull/8912


More information about the hotspot-compiler-dev mailing list