-
Enhancement
-
Resolution: Fixed
-
P3
-
repo-valhalla
-
None
-
Definition of "substitutability":
From Dan Smith:
One (might be an algorithm or an optimization) can replace x with y without noticing the difference.
From John Rose:
What Dan said. Non-value references are s== iff they are acmp==. Value instances are s== iff they are component-wise s==. Integral types are s== iff they are op==. Float types are s== iff their raw-bits are op==. This is what amounts to bitwise strict image equality mostly except for invisible references (for types which fail to flatten fully) and also NaNs are folded to one.
From Dan Smith:
One (might be an algorithm or an optimization) can replace x with y without noticing the difference.
From John Rose:
What Dan said. Non-value references are s== iff they are acmp==. Value instances are s== iff they are component-wise s==. Integral types are s== iff they are op==. Float types are s== iff their raw-bits are op==. This is what amounts to bitwise strict image equality mostly except for invisible references (for types which fail to flatten fully) and also NaNs are folded to one.
- relates to
-
JDK-8215473 [lworld] Support for substitutability checks in C2
-
- Resolved
-