Re: ASM 8.0 released
Remi Forax <[email protected]> Thu, 2 Apr 2020 19:57:18 +0200 (CEST)
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format... ------------=_1585850245-13477-28 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Vicente, We have just patch the issue with empty records. Can you clone:=20 [email protected]:asm/asm.git build it: ./gradle/gradlew and test with the jar inside asm/build/libs ? regards, R=C3=A9mi ----- Mail original ----- > De: "Remi Forax" <[email protected]> > =C3=80: "Eric Bruneton" <[email protected]> > Cc: "Vicente Romero" <[email protected]>, "asm" <[email protected]> > Envoy=C3=A9: Mardi 31 Mars 2020 16:45:40 > Objet: Re: [asm] ASM 8.0 released > ----- Mail original ----- >> De: "Eric Bruneton" <[email protected]> >> =C3=80: "Remi Forax" <[email protected]> >> Cc: "Vicente Romero" <[email protected]>, "asm" <[email protected]> >> Envoy=C3=A9: Mardi 31 Mars 2020 15:54:36 >> Objet: Re: [asm] ASM 8.0 released >=20 >> Should we add an ACC_RECORD pseudo access flag for this (similar to >> ACC_INTERFACE)? >=20 > yes ! > it's a far better idea than mine (add a RecordVisitor interface which is = not a > backward compatible change). >=20 > R=C3=A9mi >=20 >>=20 >> ----- Mail original ----- >>> De: "Remi Forax" <[email protected]> >>> =C3=80: "Remi Forax" <[email protected]> >>> Cc: "Vicente Romero" <[email protected]>, "Eric Bruneton" >>> <[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 >=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 ------------=_1585850245-13477-28 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 ------------=_1585850245-13477-28--