RFR: 8307818: Convert Indify tool to Classfile API [v8]
Adam Sotona
asotona at openjdk.org
Tue May 21 11:40:03 UTC 2024
On Mon, 20 May 2024 20:56:18 GMT, Oussama Louati <duke at openjdk.org> wrote:
>> An indify tool in j.l.i tests (also in vmTestBase) convert some source-code private static methods with MT_ MH_, and INDY_ prefixes into MethodHandle, MethodType, and CallSite constants.
>> It currently uses ad-hoc code to process class files and intends to migrate to ASM; but since we have the Classfile API, we can migrate to Classfile API instead.
>
> Oussama Louati has updated the pull request incrementally with one additional commit since the last revision:
>
> update: Added javadoc documentation
The pull request is not buildable in the current state and I suggest to return it to draft.
Minimal change to enable preview for build and run of the Indify tool is drafted here:
https://github.com/openjdk/jdk/commit/7c2344b275da1dff99ade284192488eaa8ffba02
Indify invocation on Microbenchmarks as a part of the JDK build (after application of the above patch) still fails with:
Failure on /Applications/XcodeJIB.app/dev/github/jdk/build/macosx-aarch64/support/test/micro/classes
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.classfile.ClassModel.thisClass()" because "model" is null
at java.base/java.lang.classfile.ClassFile.transform(ClassFile.java:445)
at indify.Indify.transformToBytes(Indify.java:369)
at indify.Indify.writeNewClassFile(Indify.java:360)
at indify.Indify.indifyFile(Indify.java:356)
at indify.Indify.indifyTree(Indify.java:391)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indifyTree(Indify.java:393)
at indify.Indify.indify(Indify.java:339)
at indify.Indify.run(Indify.java:191)
at indify.Indify.main(Indify.java:101)
-------------
Changes requested by asotona (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/18841#pullrequestreview-2068375431
PR Comment: https://git.openjdk.org/jdk/pull/18841#issuecomment-2122432164
PR Comment: https://git.openjdk.org/jdk/pull/18841#issuecomment-2122435605
More information about the core-libs-dev
mailing list