Face to face meeting of yesterday
Remi Forax
forax at univ-mlv.fr
Thu Aug 1 16:40:46 UTC 2019
Hi all, here is my takeaway of the valhalla face to face meeting we had yesterday.
On the VM side, the model can be simplified by having all classes being either a Q-type or a L-type but not both at the same time. This will simplify the JVMS and solve the naming issue i have with Dan because the descriptor side and the runtime side will be aligned. Obviously, this has to be prototyped.
Doing that move force us to reconsider the migration scenario for the value based class (Optional, LocalDateTime, etc). One possible solution to migrate those types is to introduce null default inline types aka inline types that have a special bit pattern to encode null. Again, this has to be prototyped (in the VM and javac too) because introducing those types may have an impact on the non nullable inline type performance.
Brian has confirmed that the migration of the value based classes is not necessarily part of LW10, so the prototyping is not a huge priority, at the same time, given that LW10 has to be compatible with LW100, the migration story has to be figure out before the release of LW10.
For LW10, we are currently not able to find a Java syntax to represent nullable inline type that interact with non-reified generics. The question mark notation seems to be the least worst compomise. Another possible syntax is John's Indirect class. Anyway, no proposal is a clear winner.
A new data is that we now have Panama replacement of the ByteBuffer API, the Vector API, Doug Lea's new HashMap and Remi's version of the carrier object of the Amber's pattern matching that have dependencies on valhalla and it may be wise to introduce an intermediary target between now and LW10 (LW5?) which as proposed by Maurizio will only allow non public inline classes. In that case, in order to use an inline type with a non reified generics, the user will have to declare an interface. LW5 can be a good intermediary step until we figure out how LW10 works.
One risk of LW5 is that it's not a release targeting all Java developpers but only the ones interrested in the performance of their libraries. We will have to be careful about how we communicate about LW5 to avoid frustration.
I think part of the issue of figuring what LW10 is, is that we have, at least i have, a fuzzy vision of what LW100 is. I don't even know what are the different steps to introduce reified generics, i.e the path in between LW10 and LW100. I think we need a minimal prototype of what the reified generics might be, similar to the MVT for the inline types.
As an eternal optimist, i think we can deliver LW5 next year ?
Karen replacement ?
This is something we have forgotten to discuss, Karen retires, who will take the mantle ? Or said differenly, I'm worry that the retirement of Karen may impact our velocity. Having this Wednesday meetings is important, it's one of the things that have allow us to have a good velocity. If can have a say in this, i vote for David Holmes, because like Karen, he doesn't hesitate to call our bluff. Is there another candidate ?
Rémi
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
More information about the valhalla-spec-observers
mailing list