RFR [jcov, unfilled]: jcov does not instrument files with NestHost/NestMembers attributes

Jan Lahoda jan.lahoda at oracle.com
Tue Aug 7 15:25:06 UTC 2018


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


More information about the code-tools-dev mailing list