RFR: 8315066: Add unsigned bounds and known bits to TypeInt/Long [v12]

Dean Long dlong at openjdk.org
Fri Sep 6 00:06:54 UTC 2024


On Thu, 5 Sep 2024 23:42:58 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Tbh I'm not entirely sure what does "dual" serve other than: it is to compute the join of 2 sets. Looking at the code suggests that a `Type` is somehow a symmetric space with all normal types on one side and the "dual" types on the other. This really confuses me and I cannot figure out what exactly a dual type represents.
>
> My understanding is "join" means "union", "meet" means "intersection", and "dual" means "complement".

"Complement" may not be quite right, or at least I don't see how it applies to TypeF and TypeD, whose xdual() functions are "self-symmetric" and do nothing except return the original type unchanged..

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17508#discussion_r1746328465


More information about the hotspot-compiler-dev mailing list