RFR: 8359678: C2: assert(static_cast<T1>(result) == thing) caused by ReverseBytesNode::Value() [v4]
    Hannes Greule 
    hgreule at openjdk.org
       
    Sat Jul 12 08:16:25 UTC 2025
    
    
  
> Fixes an assertion when passing an int larger than short/char to the corresponding reverseBytes method in a constant-folding scenario. By just using static_cast, we can ignore the upper bytes and just swap the lower bytes.
> 
> Using jasm, I added a test case that covers such inputs. It felt easier to test this way than the other scenarios mentioned in the bug report.
> 
> I also removed the redundant checked_cast calls from the int/long case; we already have the correct type there.
> 
> Please review. Thanks.
Hannes Greule has updated the pull request incrementally with one additional commit since the last revision:
  comment out Character cases
-------------
Changes:
  - all: https://git.openjdk.org/jdk/pull/25988/files
  - new: https://git.openjdk.org/jdk/pull/25988/files/f352726e..f8cc3496
Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25988&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25988&range=02-03
  Stats: 3 lines in 1 file changed: 1 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/25988.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25988/head:pull/25988
PR: https://git.openjdk.org/jdk/pull/25988
    
    
More information about the hotspot-compiler-dev
mailing list