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--