From jan.lahoda at oracle.com Tue Aug 7 15:25:06 2018 From: jan.lahoda at oracle.com (Jan Lahoda) Date: Tue, 7 Aug 2018 17:25:06 +0200 Subject: RFR [jcov, unfilled]: jcov does not instrument files with NestHost/NestMembers attributes Message-ID: <5B69B9D2.5010404@oracle.com> Hi, It seems that jcov cannot instrument files with NestHost/NestMembers attributes (JDK 11 classfiles), and silently uses the original version. The reason appears to be that even though it uses ASM 6.2, which knows about those attributes, the visitors are using "ASM6" compatibility flag, which does not support these attributes. My proposal here is to upgrade the compatibility flag to "ASM7_EXPERIMENTAL" compatibility level. It might be better to define a constant for the compatibility level constant, so that on next upgrade, we don't need to modify so many files. The proposed patch is here: http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.allow.nesthost.00/ Also, we could enhance the build script to allow running tests: http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.test.00/ If these would seem to go in a reasonable direction, I'll file bugs. It may be necessary to do a few more changes to support JDK 12 classfiles. Any feedback is welcome! Thanks, Jan From jonathan.gibbons at oracle.com Tue Aug 7 15:35:31 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 7 Aug 2018 08:35:31 -0700 Subject: RFR [jcov, unfilled]: jcov does not instrument files with NestHost/NestMembers attributes In-Reply-To: <5B69B9D2.5010404@oracle.com> References: <5B69B9D2.5010404@oracle.com> Message-ID: <90e29a40-7f4f-c6b4-f7d7-df6308706062@oracle.com> cc: asmtools-dev On 8/7/18 8:25 AM, Jan Lahoda wrote: > Hi, > > It seems that jcov cannot instrument files with NestHost/NestMembers > attributes (JDK 11 classfiles), and silently uses the original > version. The reason appears to be that even though it uses ASM 6.2, > which knows about those attributes, the visitors are using "ASM6" > compatibility flag, which does not support these attributes. > > My proposal here is to upgrade the compatibility flag to > "ASM7_EXPERIMENTAL" compatibility level. It might be better to define > a constant for the compatibility level constant, so that on next > upgrade, we don't need to modify so many files. The proposed patch is > here: > http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.allow.nesthost.00/ > > > Also, we could enhance the build script to allow running tests: > http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.test.00/ > > If these would seem to go in a reasonable direction, I'll file bugs. > It may be necessary to do a few more changes to support JDK 12 > classfiles. > > Any feedback is welcome! > > Thanks, > ??? Jan From jonathan.gibbons at oracle.com Tue Aug 7 15:37:19 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 7 Aug 2018 08:37:19 -0700 Subject: RFR [jcov, unfilled]: jcov does not instrument files with NestHost/NestMembers attributes In-Reply-To: <5B69B9D2.5010404@oracle.com> References: <5B69B9D2.5010404@oracle.com> Message-ID: <185f14cd-6cb6-b341-4509-25b2e6654acf@oracle.com> Ooops, wrong list (asmtools-dev) cc: jcov-dev -- Jon On 8/7/18 8:25 AM, Jan Lahoda wrote: > Hi, > > It seems that jcov cannot instrument files with NestHost/NestMembers > attributes (JDK 11 classfiles), and silently uses the original > version. The reason appears to be that even though it uses ASM 6.2, > which knows about those attributes, the visitors are using "ASM6" > compatibility flag, which does not support these attributes. > > My proposal here is to upgrade the compatibility flag to > "ASM7_EXPERIMENTAL" compatibility level. It might be better to define > a constant for the compatibility level constant, so that on next > upgrade, we don't need to modify so many files. The proposed patch is > here: > http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.allow.nesthost.00/ > > > Also, we could enhance the build script to allow running tests: > http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.test.00/ > > If these would seem to go in a reasonable direction, I'll file bugs. > It may be necessary to do a few more changes to support JDK 12 > classfiles. > > Any feedback is welcome! > > Thanks, > ??? Jan From Leonid.Kuskov at Oracle.com Tue Aug 7 17:42:26 2018 From: Leonid.Kuskov at Oracle.com (Leonid Kuskov) Date: Tue, 7 Aug 2018 10:42:26 -0700 Subject: RFR [jcov, unfilled]: jcov does not instrument files with NestHost/NestMembers attributes In-Reply-To: <185f14cd-6cb6-b341-4509-25b2e6654acf@oracle.com> References: <5B69B9D2.5010404@oracle.com> <185f14cd-6cb6-b341-4509-25b2e6654acf@oracle.com> Message-ID: Hi Jan, These fixes look good. We already use the same approach in private jcov build for instrumenting JDK 12. Please apply the patch further I will add couple cosmetic fixes that I have for JDK 12 classfiles. Thanks, Leonid On 8/7/18 08:37, Jonathan Gibbons wrote: > Ooops, wrong list (asmtools-dev) > > cc: jcov-dev > > -- Jon > > On 8/7/18 8:25 AM, Jan Lahoda wrote: >> Hi, >> >> It seems that jcov cannot instrument files with NestHost/NestMembers >> attributes (JDK 11 classfiles), and silently uses the original >> version. The reason appears to be that even though it uses ASM 6.2, >> which knows about those attributes, the visitors are using "ASM6" >> compatibility flag, which does not support these attributes. >> >> My proposal here is to upgrade the compatibility flag to >> "ASM7_EXPERIMENTAL" compatibility level. It might be better to define >> a constant for the compatibility level constant, so that on next >> upgrade, we don't need to modify so many files. The proposed patch is >> here: >> http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.allow.nesthost.00/ >> >> >> Also, we could enhance the build script to allow running tests: >> http://cr.openjdk.java.net/~jlahoda/jcov-nesthost/webrev.test.00/ >> >> If these would seem to go in a reasonable direction, I'll file bugs. >> It may be necessary to do a few more changes to support JDK 12 >> classfiles. >> >> Any feedback is welcome! >> >> Thanks, >> ??? Jan > From tim.bell at oracle.com Wed Aug 8 00:47:43 2018 From: tim.bell at oracle.com (Tim Bell) Date: Tue, 07 Aug 2018 17:47:43 -0700 Subject: RFR: (S) CODETOOLS-7902263 defpath extension broken after upgrade to mercurial 4.3 (and python2.7) Message-ID: <5B6A3DAF.6070009@oracle.com> Hello Mercurial 4.3 dropped support for Python 2.6. With that an API change moved cmdutil.command to the registrar module. https://bugs.openjdk.java.net/browse/CODETOOLS-7902263 This fix first tries to load .command from the registrar module. If not found there, look next for cmdutil.command. If that is not found, the legacy command() implementation is used. http://cr.openjdk.java.net/~tbell/CODETOOLS-7902263/ Tested with hg versions 0.9.5, 3.2.3, 4.7 I will also need a sponsor since I am not a Committer in the Code Tools Project. Thanks in advance- Tim [1] http://openjdk.java.net/census#code-tools From tim.bell at oracle.com Wed Aug 8 00:49:31 2018 From: tim.bell at oracle.com (Tim Bell) Date: Tue, 07 Aug 2018 17:49:31 -0700 Subject: RFR: (S) CODETOOLS-7902264 jcheck extension broken after upgrade to mercurial 4.3 (and python2.7) Message-ID: <5B6A3E1B.7090405@oracle.com> Hello Mercurial 4.3 dropped support for Python 2.6. With that an API change moved cmdutil.command to the registrar module. https://bugs.openjdk.java.net/browse/CODETOOLS-7902264 This fix first tries to load .command from the registrar module. If not found there, look next for cmdutil.command. If that is not found, the legacy command() implementation is used. http://cr.openjdk.java.net/~tbell/CODETOOLS-7902264/ Tested with hg versions 0.9.5, 3.2.3, 4.7 I will also need a sponsor since I am not a Committer in the Code Tools Project. [1] Thanks in advance- Tim [1] http://openjdk.java.net/census#code-tools From jonathan.gibbons at oracle.com Wed Aug 8 15:14:13 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 8 Aug 2018 08:14:13 -0700 Subject: RFR: (S) CODETOOLS-7902263 defpath extension broken after upgrade to mercurial 4.3 (and python2.7) In-Reply-To: <5B6A3DAF.6070009@oracle.com> References: <5B6A3DAF.6070009@oracle.com> Message-ID: Tim, I can sponsor your changes. -- Jon On 8/7/18 5:47 PM, Tim Bell wrote: > Hello > > Mercurial 4.3 dropped support for Python 2.6. With that an API change > moved cmdutil.command to the registrar module. > > ??? https://bugs.openjdk.java.net/browse/CODETOOLS-7902263 > > This fix first tries to load .command from the registrar module. If > not found there, look next for cmdutil.command.? If that is not found, > the legacy command() implementation is used. > > ??? http://cr.openjdk.java.net/~tbell/CODETOOLS-7902263/ > > Tested with hg versions 0.9.5, 3.2.3, 4.7 > > I will also need a sponsor since I am not a Committer in the Code > Tools Project. > > Thanks in advance- > > Tim > > [1] http://openjdk.java.net/census#code-tools From jonathan.gibbons at oracle.com Fri Aug 10 19:47:52 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 10 Aug 2018 12:47:52 -0700 Subject: RFR: (S) CODETOOLS-7902264 jcheck extension broken after upgrade to mercurial 4.3 (and python2.7) In-Reply-To: <5B6A3E1B.7090405@oracle.com> References: <5B6A3E1B.7090405@oracle.com> Message-ID: <5B6DEBE8.2060107@oracle.com> Looks OK to me. Pushed. -- Jon On 08/07/2018 05:49 PM, Tim Bell wrote: > Hello > > Mercurial 4.3 dropped support for Python 2.6. With that an API change > moved cmdutil.command to the registrar module. > > https://bugs.openjdk.java.net/browse/CODETOOLS-7902264 > > This fix first tries to load .command from the registrar module. If > not found there, look next for cmdutil.command. If that is not found, > the legacy command() implementation is used. > > http://cr.openjdk.java.net/~tbell/CODETOOLS-7902264/ > > Tested with hg versions 0.9.5, 3.2.3, 4.7 > > I will also need a sponsor since I am not a Committer in the Code > Tools Project. [1] > > Thanks in advance- > > Tim > > [1] http://openjdk.java.net/census#code-tools > From jonathan.gibbons at oracle.com Fri Aug 10 19:48:18 2018 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 10 Aug 2018 12:48:18 -0700 Subject: RFR: (S) CODETOOLS-7902263 defpath extension broken after upgrade to mercurial 4.3 (and python2.7) In-Reply-To: <5B6A3DAF.6070009@oracle.com> References: <5B6A3DAF.6070009@oracle.com> Message-ID: <5B6DEC02.7010705@oracle.com> Looks OK to me. Pushed. -- Jon On 08/07/2018 05:47 PM, Tim Bell wrote: > Hello > > Mercurial 4.3 dropped support for Python 2.6. With that an API change > moved cmdutil.command to the registrar module. > > https://bugs.openjdk.java.net/browse/CODETOOLS-7902263 > > This fix first tries to load .command from the registrar module. If > not found there, look next for cmdutil.command. If that is not found, > the legacy command() implementation is used. > > http://cr.openjdk.java.net/~tbell/CODETOOLS-7902263/ > > Tested with hg versions 0.9.5, 3.2.3, 4.7 > > I will also need a sponsor since I am not a Committer in the Code > Tools Project. > > Thanks in advance- > > Tim > > [1] http://openjdk.java.net/census#code-tools