Re: ASM 8.0 released
Remi Forax <[email protected]> Tue, 31 Mar 2020 12:12:49 +0200 (CEST)
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format... ------------=_1585649944-24931-8 Content-Type: multipart/alternative; boundary="=_e24fd34e-5dc0-490b-a701-99954006b08f" --=_e24fd34e-5dc0-490b-a701-99954006b08f Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable But it's a backward incompatible change :(=20 R=C3=A9mi=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 > oops, > my bad, will fix that ASAP ! > R=C3=A9mi >> 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 >> Hi, >> Thanks for publishing this version, it is great to see it supporting rec= ords, >> 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: >> $ cat R.java >> record R() {} >> if we compile this record with javac we will see in javap's output an em= pty >> `Record` attribute but lets say we use the simplest ASM client as in: >> import java.io.FileInputStream; >> import java.io.FileOutputStream; >> import org.objectweb.asm.ClassReader; >> import org.objectweb.asm.ClassWriter; >> public class ASMRecordTest { >> public static void main(final String args[]) throws Exception { >> FileInputStream is =3D new FileInputStream(args[0]); >> ClassReader cr =3D new ClassReader(is); >> ClassWriter cw =3D new ClassWriter(ClassWriter.COMPUTE_FRAMES); >> cr.accept(cw, 0); >> FileOutputStream fos =3D new FileOutputStream(args[1]); >> fos.write(cw.toByteArray()); >> fos.close(); >> } >> } >> 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 t= he >> current code in ASM is that no record attribute will be written unless t= here is >> at least one record component. >> Thanks, >> Vicente >> On 3/28/20 8:07 AM, [ mailto:[email protected] | [email protected] ] wro= te: >>> Release notes: >>> - Java 14 support (RecordComponent) >>> - bug fixes >>> * 317896: Performance degradation when using dynamic constants as a st= atic >>> parameter to another InDy/ConDy >>> The ASM team >> -- >> 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 > -- > 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 --=_e24fd34e-5dc0-490b-a701-99954006b08f Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><body><div style=3D"font-family: arial, helvetica, sans-serif; font-s= ize: 12pt; color: #000000"><div>But it's a backward incompatible change :(<= br></div><div><br data-mce-bogus=3D"1"></div><div>R=C3=A9mi<br data-mce-bog= us=3D"1"></div><div><br></div><hr id=3D"zwchr" data-marker=3D"__DIVIDER__">= <div data-marker=3D"__HEADERS__"><blockquote style=3D"border-left:2px solid= #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;fon= t-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;= font-size:12pt;"><b>De: </b>"Remi Forax" <[email protected]><br><b>= =C3=80: </b>"Vicente Romero" <[email protected]><br><b>Cc: </= b>"Eric Bruneton" <[email protected]>, "asm" <[email protected]><br><= b>Envoy=C3=A9: </b>Mardi 31 Mars 2020 12:02:25<br><b>Objet: </b>Re: [asm] A= SM 8.0 released<br></blockquote></div><div data-marker=3D"__QUOTED_TEXT__">= <blockquote style=3D"border-left:2px solid #1010FF;margin-left:5px;padding-= left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:no= ne;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div style=3D"fo= nt-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><= div>oops,<br></div><div>my bad, will fix that ASAP !<br></div><br><div>R=C3= =A9mi<br></div><br><hr id=3D"zwchr"><div><blockquote style=3D"border-left:2= px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:no= rmal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,san= s-serif;font-size:12pt;"><b>De: </b>"Vicente Romero" <vicente.romero@ora= cle.com><br><b>=C3=80: </b>"Eric Bruneton" <[email protected]>, "a= sm" <[email protected]><br><b>Envoy=C3=A9: </b>Mardi 31 Mars 2020 03:14:35<= br><b>Objet: </b>Re: [asm] ASM 8.0 released<br></blockquote></div><div><blo= ckquote style=3D"border-left:2px solid #1010FF;margin-left:5px;padding-left= :5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;f= ont-family:Helvetica,Arial,sans-serif;font-size:12pt;">Hi,<br> <br> 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:<br> <br> $ cat R.java<br> record R() {}<br> <br> 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:<br> <br> import java.io.FileInputStream;<br> import java.io.FileOutputStream;<br> <br> import org.objectweb.asm.ClassReader;<br> import org.objectweb.asm.ClassWriter;<br> <br> public class ASMRecordTest {<br> public static void main(final String args[]) throws = Exception {<br> FileInputStream is =3D new F= ileInputStream(args[0]);<br> <br> ClassReader cr =3D new Class= Reader(is);<br> ClassWriter cw =3D new ClassWriter(ClassWriter.COMPUTE_FRAMES);<br> cr.accept(cw, 0);<br> <br> FileOutputStream fos =3D new= FileOutputStream(args[1]);<br> fos.write(cw.toByteArray());= <br> fos.close();<br> }<br> }<br> <br> 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.<br> <br> Thanks,<br> Vicente<br> <br> <div class=3D"moz-cite-prefix">On 3/28/20 8:07 AM, <a class=3D"moz-txt-= link-abbreviated" href=3D"mailto:[email protected]" target=3D"_blank">ebrun= [email protected]</a> wrote:<br> </div> <blockquote cite=3D"mid:1661375377.158900451.1585397255081.JavaMail.roo= [email protected]"> <pre class=3D"moz-quote-pre">Release notes: - Java 14 support (RecordComponent) - bug fixes * 317896: Performance degradation when using dynamic constants as a stati= c parameter to another InDy/ConDy The ASM team </pre> <br> <fieldset class=3D"mimeAttachmentHeader"></fieldset> <pre class=3D"moz-quote-pre"></pre> </blockquote> <br> =20=20 <br><br>-- <br>You receive this message as a subscriber of the [email protected] = mailing list.<br>To unsubscribe: mailto:[email protected]<br>For gene= ral help: mailto:[email protected]?subject=3Dhelp<br>OW2 mailing lists service = home page: http://www.ow2.org/wws<br></blockquote></div></div><br><br>-- <b= r>You receive this message as a subscriber of the [email protected] mailing list.= <br>To unsubscribe: mailto:[email protected]<br>For general help: mai= lto:[email protected]?subject=3Dhelp<br>OW2 mailing lists service home page: ht= tp://www.ow2.org/wws<br></blockquote></div></div></body></html>= --=_e24fd34e-5dc0-490b-a701-99954006b08f-- ------------=_1585649944-24931-8 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 ------------=_1585649944-24931-8--