RFR: 8356865: C2: Unreasonable values for debug flag FastAllocateSizeLimit can lead to left-shift-overflow, which is UB [v3]

Emanuel Peter epeter at openjdk.org
Mon Jun 23 06:19:29 UTC 2025


On Fri, 20 Jun 2025 16:39:51 GMT, Benoît Maillard <bmaillard at openjdk.org> wrote:

>> This PR adds a range constraint for the `-XX:FastAllocateSizeLimit` debug flag. This prevents undefined behavior caused by left-shift overflow of the flag value in `GraphKit::new_array`.
>> 
>> ### Testing
>> - [x] [GitHub Actions](https://github.com/benoitmaillard/jdk/actions?query=branch%3AJDK-8356865)
>> - [x] tier1-3, plus some internal testing
>> - [x] Manual testing with values known to previously cause undefined behavior
>> 
>> Thanks!
>
> Benoît Maillard has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8356865: Change assert

test/hotspot/jtreg/compiler/arguments/TestFastAllocateSizeLimit.java line 48:

> 46:     public static void main(String[] args) throws IOException {
> 47:         if (args.length == 0) {
> 48:             int sizeLimit = RANDOM.nextInt(1 << 28);

Can you please add a quick comment why you chose `1 << 28`?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25834#discussion_r2160796211


More information about the hotspot-dev mailing list