Re: ASM 8.0 released
[email protected] Tue, 31 Mar 2020 15:54:36 +0200 (CEST)
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <862182710.179316058.1585662876924.JavaMail.root@zimbra73-e12.priv.proxad.net> |
This is a multi-part message in MIME format... ------------=_1585662881-24931-18 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Should we add an ACC_RECORD pseudo access flag for this (similar to ACC_INT= ERFACE)? ----- Mail original ----- > De: "Remi Forax" <[email protected]> > =C3=80: "Remi Forax" <[email protected]> > Cc: "Vicente Romero" <[email protected]>, "Eric Bruneton" <ebrune= [email protected]>, "asm" <[email protected]> > Envoy=C3=A9: Mardi 31 Mars 2020 12:12:49 > Objet: Re: [asm] ASM 8.0 released >=20 >=20 >=20 > But it's a backward incompatible change :( >=20 >=20 >=20 > R=C3=A9mi >=20 >=20 > ----- Mail original ----- >=20 >=20 >=20 > De: "Remi Forax" <[email protected]> > =C3=80: "Vicente Romero" <[email protected]> > Cc: "Eric Bruneton" <[email protected]>, "asm" <[email protected]> > Envoy=C3=A9: Mardi 31 Mars 2020 12:02:25 > Objet: Re: [asm] ASM 8.0 released >=20 >=20 >=20 >=20 >=20 > oops, >=20 > my bad, will fix that ASAP ! >=20 >=20 > R=C3=A9mi >=20 > ----- Mail original ----- >=20 >=20 >=20 > De: "Vicente Romero" <[email protected]> > =C3=80: "Eric Bruneton" <[email protected]>, "asm" <[email protected]> > Envoy=C3=A9: Mardi 31 Mars 2020 03:14:35 > Objet: Re: [asm] ASM 8.0 released >=20 >=20 >=20 > Hi, >=20 > Thanks for publishing this version, it is great to see it supporting > records, yay! I was testing it to include it in JDK 15 and I think I > found a bug which is related to records with no record components as > in: >=20 > $ cat R.java > record R() {} >=20 > if we compile this record with javac we will see in javap's output an > empty `Record` attribute but lets say we use the simplest ASM client > as in: >=20 > import java.io.FileInputStream; > import java.io.FileOutputStream; >=20 > import org.objectweb.asm.ClassReader; > import org.objectweb.asm.ClassWriter; >=20 > public class ASMRecordTest { > public static void main(final String args[]) throws Exception { > FileInputStream is =3D new FileInputStream(args[0]); >=20 > ClassReader cr =3D new ClassReader(is); > ClassWriter cw =3D new ClassWriter(ClassWriter.COMPUTE_FRAMES); > cr.accept(cw, 0); >=20 > FileOutputStream fos =3D new FileOutputStream(args[1]); > fos.write(cw.toByteArray()); > fos.close(); > } > } >=20 > if this program is invoked with arguments: /path/to/R.class > /path/to/R2.class we will see that R2.class is missing the `Record` > attribute. The issue in the current code in ASM is that no record > attribute will be written unless there is at least one record > component. >=20 > Thanks, > Vicente >=20 >=20 > On 3/28/20 8:07 AM, [email protected] wrote: >=20 >=20 > Release notes: > - Java 14 support (RecordComponent) > - bug fixes > * 317896: Performance degradation when using dynamic constants as a > static parameter to another InDy/ConDy >=20 > The ASM team >=20 >=20 >=20 > -- > You receive this message as a subscriber of the [email protected] mailing > list. > To unsubscribe: mailto:[email protected] > For general help: mailto:[email protected]?subject=3Dhelp > OW2 mailing lists service home page: http://www.ow2.org/wws >=20 >=20 > -- > You receive this message as a subscriber of the [email protected] mailing > list. > To unsubscribe: mailto:[email protected] > For general help: mailto:[email protected]?subject=3Dhelp > OW2 mailing lists service home page: http://www.ow2.org/wws >=20 ------------=_1585662881-24931-18 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit -- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws ------------=_1585662881-24931-18--