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