Indeed. We can blur the distinction between I and QInteger$val at the
_language_ level -- where it matters -- but there's no return trying to
do so at the VM level. Except in the cases we already described --
array types -- where we cannot effectively blur it in the language.
On 6/19/2020 5:01 PM, Dan Smith wrote:
On Jun 19, 2020, at 2:44 PM, fo...@univ-mlv.fr wrote:
If the VM see I as a subtype of Object, there is no need for a
Ljava/lang/Integer$val; at all, it's better to have aload/astore/etc to work on
I directly.
That's initially somewhat attractive, but think about the implications for
things like slot size. Primitives and inline objects are really two very
different things in the current JVM design.