Idea how to implement VT/VO compatibility in JVM
Stéphane Épardaud
stef at epardaud.fr
Thu Jan 22 13:47:22 UTC 2015
On 01/22/2015 02:42 PM, Maurizio Cimadamore wrote:
> That's mostly where I was trying to get at - bridges are a part of
> your approach - but it seems like some other part is missing in order
> to make the approach consistent.
Well, sure, it requires _some_ support for `instanceof` and the
reflection API to handle this. But the reflection API will already have
to be tweaked for value types, so it's not like it's out of the question.
>> BTW, aren't you afraid of the proliferation of specialised classes at
>> runtime for the VM? I know PermGen moved away, but still, classes are
>> expensive to load…
> As you might know, I did some work on reification in my early days [1]
> - among the things I found when implementing a JVM with support for
> reification was that in real-world cases, the number of different
> instantiation of the same generic class tends to be quite low. Of
> course this is another area where we need more evidence.
I didn't know, but I would lean towards agreeing with you. At least in
the end usage where you will only have N sorts of `ArrayList<T>`, but
that multiplies because each is also a `List<T>` and an `Iterable<T>`
and a `Collection<T>` and will access `Stream<T>`… so even though you
will only instantiate N `T` values, you will get more classes than just N.
More information about the valhalla-dev
mailing list