Draft LW2 spec

Remi Forax forax at univ-mlv.fr
Fri Jun 14 08:54:43 UTC 2019


Hi Daniel, 

section 4.1: in the table 4.1-A, 
13/57/45..57 is missing given you talk about later in this section. 

section 4.3.2: 
I don't think that using null as a diferentiator (Nullable/NonNullable) is a good idea. 
Yes, an inline type is not nullable, but it's also flattenable, loaded early, not circular, etc. This introduce a false dichotomy which we have already spent too much time. I don't remember the exact words that John is using, but it was making more sense too me. 
Perhaps only renaming NullFreeClassType to InlineClassType is enough ? 

section 4.10.1.2: 
the bottom right of the schema is wrong because a reference type can be a nullable type or an inline type which is not nullable 
I propose 

reference type 
/ \ 
/ \ 
nullable type inline class 
| 
| 
null 

Rémi 

> De: "daniel smith" <daniel.smith at oracle.com>
> À: "valhalla-spec-experts" <valhalla-spec-experts at openjdk.java.net>
> Envoyé: Jeudi 13 Juin 2019 22:57:31
> Objet: Draft LW2 spec

> Here's a first look at a preview-feature-quality spec for
> values^H^H^H^H^H^Hinline classes.

> [
> http://cr.openjdk.java.net/~dlsmith/inline-classes/specs/jvms-inline-classes.html
> |
> http://cr.openjdk.java.net/~dlsmith/inline-classes/specs/jvms-inline-classes.html
> ]

> It reflects my understanding of what LW2 is supposed to look like. I'm sure I've
> gotten out of sync on some things, so please take some time to check on things
> I might be missing.

> There are a few "design discussion" blocks that identify areas that may evolve
> further (in LW3, say) or where the design choices we've settled on aren't
> necessarily essential.

> One area that required making some nontrivial choices, and could use some extra
> scrutiny, is the treatment of preparation and initialization. We know there are
> some invariants we want enforced, but there's a lot of wiggle room in deciding
> how they are enforced.

> Note that I've included a suite of bug fixes/presentational improvements in a
> separate document, linked to in the introduction. If you notice differences
> between the official JVMS text and the text I'm quoting, that's probably why. I
> don't think most people will be interested in those details, but if you are,
> feel free to review the second document as well!


More information about the valhalla-spec-observers mailing list