Slide 4
Slide 4 text
e
Phase I focused mostly on language and libraries, trying to wrap our heads
around exactly what a clean migration to value types and specialized
generics would look like. At which point we
realized the list of VM requirements was implausibly long and we needed
to come at this from the other direction for a while.
Phase II attacked the problem from the VM up, with two more rounds of
prototypes -- MVT and LW1. LW1 was a risky experiment; we hoped, but
weren't sure we could get away with, sharing the L-carrier and a*
bytecodes between references and values, without losing performance. If
we could do so, many of the problems we discovered in Phase I could go
away. And, all evidence seems to suggest that this was successful, and
we have a much richer base to build on.
So, I think this demarcates the start of Phase III -- where we have a
solid enough proof-of-concept that we can largely graduate from the
"risky experiments and wild theories" portion of the program (at least
for the VM). Fantastic work from everyone involved to get us here!
Brian Goetz 5/10/2018