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.

Reply via email to