Updated Draft specs for JEP 359 (Records)

Brian Goetz brian.goetz at oracle.com
Tue Nov 26 15:32:20 UTC 2019


I understand your concern here; however, the intent is _not_ to update 4.5A and 4.6A at this time.  Since the compiler is setting those flags, we can treat this as a bug to be fixed.  

> On Nov 25, 2019, at 11:57 PM, Leonid Kuskov <Leonid.Kuskov at Oracle.com> wrote:
> 
> Hello,
> 
> From my point of view, JVMS is not fully updated to support Records. 
> The new spec should have  ACC_MANDATED in the tables for its consistency:
>     Table 4.5-A. "Field access and property flags" <https://docs.oracle.com/javase/specs/jvms/se12/html/jvms-4.html#jvms-4.5-200-A.1>, 
>     Table 4.6-A. "Method access and property flags". <https://docs.oracle.com/javase/specs/jvms/se12/html/jvms-4.html#jvms-4.6-200-A.1>  
> otherwise, the following assertions are violated:
> 
> All bits of the access_flags item not assigned in Table 4.5-A are reserved for future use. 
> They should be set to zero in generated class files and should be ignored by Java Virtual Machine implementations.
> 
> All bits of the access_flags item not assigned in Table 4.6-A are reserved for future use. 
> They should be set to zero in generated class files and should be ignored by Java Virtual Machine implementations.
> 
> Formally speaking, currently, fields/methods can't be marked with the  ACC_MANDATED flag.
> 
> Thanks,
> Leonid
> 
> On 11/21/19 07:01, Gavin Bierman wrote:
>> A hopefully final draft language spec for JEP 359 (Records) is available at:
>> 
>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191121/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191121/specs/records-jls.html>  
>> 
>> This incorporates (I hope!) all the very helpful suggestions from everyone on these lists - many thanks. 
>> 
>> As always - any further comments/thoughts/bugs most welcome!
>> 
>> Gavin
>> 
>>> On 31 Oct 2019, at 14:17, Gavin Bierman <gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com> wrote:
>>> 
>>> An updated draft language spec for JEP 359 (Records) is available at:
>>> 
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html>
>>> 
>>> (Alongside is a draft JVM spec for this feature:
>>> 
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html>
>>> 
>>> )
>>> 
>>> As always, please email me any comments/thoughts/bugs.
>>> 
>>> Thanks,
>>> Gavin
>>> 
>>> 
>>>> On 23 Aug 2019, at 22:25, Gavin Bierman <gavin.bierman at oracle.com <mailto:gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com>> wrote:
>>>> 
>>>> A draft language spec for records is available at:
>>>> 
>>>> http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html>
>>>> 
>>>> This spec doesn’t yet discuss varargs records - to appear in the next draft.
>>>> 
>>>> All comments welcomed!
>>>> 
>>>> Thanks,
>>>> Gavin



More information about the amber-spec-observers mailing list