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é.

Reply via email to