Re: JEP 306 - always strictfp semantics
"Eugene Kuleshov" (via asm Mailing List) <[email protected]> Fri, 7 May 2021 07:46:27 -0400
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <CADFjdoXwNOV=RXLaUvgjy30NOyij1s-ZK-oshD2CykRB19LNRg@mail.gmail.com> |
This is a multi-part message in MIME format... ------------=_1620388004-6117-12 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Remi, The bigger problem is how ASM would map the ACC_STRICT bit flag value when it will be reused by VM in the future after v17. Having two constants with the same 0x800 value would be a bad idea and the int type used for the flags parameters might be already at its capacity. As for handling it now, I think the CheckClassVisitor check for V_17 + ignoring or silently stripping it in the ClassWriter should cover it. regards, Eugene On Fri, May 7, 2021 at 6:20 AM Remi Forax <[email protected]> wrote: > > Hi all, > the JEP 306 [1, 2] will be soon integrated into the jdk 17. > > This JEP proposes > - to add a warning if the strictfp modifier is used in the language > - to not generate ACC_STRICT in classfiles anymore if source >=3D jdk 17 = (major_version >=3D 61) > - to retire retire the ACC_STRICT modifier in the VM, so the VM will igno= re that flag. > > The idea is in the future to reuse the bit corresponding to ACC_STRICT fo= r another usage, > so in the future, the semantics of that bit will changed so visitors will= need to be updated. > > The question is how we reflect that in ASM, > - deprecating ACC_STRICT seems brutal because if version < V_17, it's a v= alid flag. > - do nothing, after all the VM will ignore this flag seems dangerous beca= use at some point ACC_STRICT will mean something different. > - throw an exception in CheckClassVisitor if version >=3D V_17 and ACC_ST= RICT is used on method (it can not be used anywhere else), i fear that it m= ay be not enough. > - rejecting ACC_STRICT if version >=3D V_17 in the ClassWriter, this seem= s too strong. > - silently strip ACC_STRICT if version >=3D V_17 in the ClassWriter as ja= vac does, this seems sneaky. > > so here are the options, what do you thing ? > > R=C3=A9mi > > [1] https://openjdk.java.net/jeps/306 > [2] https://bugs.openjdk.java.net/browse/JDK-8266524 > > -- > 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 ------------=_1620388004-6117-12 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 ------------=_1620388004-6117-12--