RFR: JEP 359: Records (Preview) (full code)

Harold Seigel harold.seigel at oracle.com
Tue Dec 3 12:29:44 UTC 2019


Thanks Lois!

Harold

On 12/2/2019 4:56 PM, Lois Foltan wrote:
> I've looked over the hotspot code again as well.  Looks good, you have 
> my review!
> Lois
>
> On 12/2/2019 11:52 AM, coleen.phillimore at oracle.com wrote:
>> (resending to all the lists)
>>
>> Hi, I've looked at the hotspot code again, and it looks good. Nice 
>> work, Harold and Vincente!
>>
>> Coleen
>>
>>
>> On 11/27/19 11:37 PM, Vicente Romero wrote:
>>> Hi,
>>>
>>> Please review the code for the records feature at [1]. This webrev 
>>> includes all: APIs, runtime, compiler, serialization, javadoc, and 
>>> more! Must of the code has been reviewed but there have been some 
>>> changes since reviewers saw it. Also this is the first time an 
>>> integral webrev is sent out for review. Last changes on top of my 
>>> mind since last review iterations:
>>>
>>> On the compiler implementation:
>>> - it has been adapted to the last version of the language spec [2], 
>>> as a reference the JVM spec is at [3]. This implied some changes in 
>>> determining if a user defined constructor is the canonical or not. 
>>> Now if a constructor is override-equivalent to a signature derived 
>>> from the record components, then it is considered the canonical 
>>> constructor. And any canonical constructor should satisfy a set of 
>>> restrictions, see section 8.10.4 Record Constructor Declarations of 
>>> the specification.
>>> - It was also added a check to make sure that accessors are not 
>>> generic.
>>> - And that the canonical constructor, if user defined, is not 
>>> explicitly invoking any other constructor.
>>> - The list of forbidden record component names has also been updated.
>>> - new error messages have been added
>>>
>>> APIs:
>>> - there have been some API editing in java.lang.Record, 
>>> java.lang.runtime.ObjectMethods and 
>>> java.lang.reflect.RecordComponent, java.io.ObjectInputStream, 
>>> javax.lang.model (some visitors were added)
>>>
>>> On the JVM implementation:
>>> - some logging capabilities have been added to classFileParser.cpp 
>>> to provide the reason for which the Record attribute has been ignored
>>>
>>> Reflection:
>>> - there are several new changes to the implementation of 
>>> java.lang.reflect.RecordComponent apart from the spec changes 
>>> mentioned before.
>>>
>>> bug fixes in
>>> - compiler
>>> - serialization,
>>> - JVM, etc
>>>
>>> As a reference the last iteration of the previous reviews can be 
>>> found at [4] under folders: compiler, hotspot_runtime, javadoc, 
>>> reflection and serialization,
>>>
>>> TIA,
>>> Vicente
>>>
>>> [1] 
>>> http://cr.openjdk.java.net/~vromero/records.review/all_code/webrev.00/
>>> [2] 
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191125/specs/records-jls.html
>>> [3] 
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191125/specs/records-jvms.html
>>> [4] http://cr.openjdk.java.net/~vromero/records.review/
>>>
>>
>


More information about the hotspot-runtime-dev mailing list