On Thu, 3 Sep 2026 07:08:33 GMT, Quan Anh Mai <[email protected]> wrote:

>> Hi,
>> 
>> This PR implements addition and subtraction of 128-bit integers in C2. This 
>> may have numerous applications:
>> 
>> - It helps intrinsification of operations on 128-bit integers when we have 
>> one.
>> - It allows computation that may be incorrect at `long` due to overflow, 
>> such as loop predication of long range checks.
>> 
>> By implementing this separately, we don't need to worry about finalizing a 
>> public API, and we can have a better testing coverage.
>> 
>> Testing:
>> 
>> - [x] tier1-4,hs-comp-stress
>> 
>> Please take a look and leave your review, thanks a lot.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Quan Anh Mai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Pseudocode

I'm happy. Nice. I just have a nit. It will look more motivated when actually 
used, but I understand it will come.

I guess somebody from libs should look at it, since it has a new class, even 
internal.

src/hotspot/share/opto/int128tnode.hpp line 46:

> 44:   Node* hi2() const { return in(4); }
> 45: 
> 46:   virtual const Type* bottom_type() const override final { return 
> TypeTuple::LONG_PAIR; }

Nit: `override` and `virtual` are redundant with `final`. C++ can make an 
avalanche of symbols, we don't need to make it compete with an avalanche of 
keywords 🙂 . Usually, it is recommended to use only one of `override` or 
`final` (and `virtual` only in the base). Same under, and other classes.

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

Marked as reviewed by mchevalier (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/31008#pullrequestreview-5102072036
PR Review Comment: https://git.openjdk.org/jdk/pull/31008#discussion_r3924678511

Reply via email to