Hi Remi,
On 17/05/2018 6:16 PM, Remi Forax wrote:
Hi all,
----- Mail original -----
De: "Alan Bateman" <alan.bate...@oracle.com>
À: "David Holmes" <david.hol...@oracle.com>, "core-libs-dev"
<core-libs-dev@openjdk.java.net>
Envoyé: Mardi 15 Mai 2018 15:53:44
Objet: Re: [core-libs] RFR (L): 8010319: Implementation of JEP 181: Nest-Based
Access Control
On 15/05/2018 01:52, David Holmes wrote:
This review is being spread across four groups: langtools, core-libs,
hotspot and serviceability. This is the specific review thread for
core-libs - webrev:
http://cr.openjdk.java.net/~dholmes/8010319-JEP181/webrev.corelibs.v1/
[...]
Maybe a question for Kumar but are we planning to pull in any ASM
updates for JDK 11? NestMembers extends Attribute looks okay, I'm less
sure about the change to ClassReader as I don't know if there is
somewhere else in ASM that has the list of attributes to always parse.
With my ASM hat,
the current master of ASM (the release of ASM 6.2 is scheduled for the next
week-end) already supports nestmates (and constant dynamic and preview feature)
so i suppose that at some point in the future Kumar will merge it to the JDK.
Unfortunately Kumar is no longer with us.
We have recently changed the way we implement features in ASM, instead of
having features lingering in different branches, we now integrate them directly
in the master under an experimental flag (ASM7_EXPERIMENTAL), which means for
the JDK that it is no longer necessary to wait until the release of ASM 7
because it can use the experimental support of ASM 6.2.
(note that experimental doesn't mean full of bugs, or half baked or anything
like this, it means that the feature is not yet integrated in a released JDK).
I've taking a look to the code in this patch, i've two comments,
- in Attributes, it seems that the code store the bytecode slice corresponding
to the attribute only to use its length as argument of the ByteVector which is
like an ArrayList of byte, it grows automatically so the initial capacity is a
perf optimization. Perhaps the byte array is used somewhere else ?
- patching the ClassReader.accept is really a quick hack because the method
accept with 3 arguments is not patched so if this method is called somewhere in
the JDK it will behave as it should.
I'll take a look at this. To be honest I don't even remember who
provided those changes ... I thought you had provided feedback at some
point in the past :) There's a valhalla-dev email with a link that's no
longer valid:
https://gitlab.ow2.org/asm/asm/tree/NEST_MATES
Thanks,
David
[...]
-Alan.
Rémi