MVT-based vectors: first stab
forax at univ-mlv.fr
forax at univ-mlv.fr
Wed Jul 5 13:55:07 UTC 2017
----- Mail original -----
> De: "Roland Westrelin" <rwestrel at redhat.com>
> À: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "Vladimir Ivanov" <vladimir.x.ivanov at oracle.com>, valhalla-dev at openjdk.java.net
> Envoyé: Mercredi 5 Juillet 2017 15:12:56
> Objet: Re: MVT-based vectors: first stab
> Hi Rémi,
>
>> why a __Value is not represented by two fields too ?
>>
>> A __Value is a value type with no statically known type so if can not be
>> represented by two fields, it should be represented by 3 fields (2 fields + a
>> pointer to the type).
>
> Why 2 fields?
>
> For:
>
> class SomeValue {
> double x;
> double y;
> double z;
> }
>
> the JIT uses (x, y, z) as an internal representation of the value.
>
> Roland.
n + 1 fields ?
(x, y, z) + a field (not necessarily a header but it has the same meaning) that indicate the value klass.
Note that this representation also allow to call interface methods.
My point is that a __Value is not an object so it doesn't has to be represented by a reference (be boxed).
Rémi
More information about the valhalla-dev
mailing list