On Wed, 19 Jun 2024 12:04:27 GMT, Oussama Louati <d...@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:
> 
>   fix: fix comments

Formatting nits:

More formatting nits:

test/jdk/java/lang/invoke/indify/Indify.java line 656:

> 654:             for(PoolEntry entry : classModel.constantPool()){
> 655:                 char mark = 0;
> 656:                 if(poolMarks[entry.index()] != 0) continue;

Suggestion:

        boolean initializeMarks() {
            boolean anyMarkChanged = false;
            for (PoolEntry entry : classModel.constantPool()) {
                char mark = 0;
                if (poolMarks[entry.index()] != 0) continue;

test/jdk/java/lang/invoke/indify/Indify.java line 674:

> 672:                     if(poolMarks[memberRefEntry.owner().index()] != 0){
> 673:                         mark = poolMarks[memberRefEntry.owner().index()];
> 674:                     }

Suggestion:

                if (entry instanceof Utf8Entry utf8Entry) {
                    mark = nameMark(utf8Entry.stringValue());
                }
                if (entry instanceof ClassEntry classEntry) {
                    mark = nameMark(classEntry.asInternalName());
                }
                if (entry instanceof StringEntry stringEntry) {
                    mark = nameMark(stringEntry.stringValue());
                }
                if (entry instanceof NameAndTypeEntry nameAndTypeEntry) {
                    mark = nameAndTypeMark(nameAndTypeEntry.name(), 
nameAndTypeEntry.type());
                }
                if (entry instanceof MemberRefEntry memberRefEntry) {
                    poolMarks[memberRefEntry.owner().index()] = 
nameMark(memberRefEntry.owner().asInternalName());
                    if(poolMarks[memberRefEntry.owner().index()] != 0){
                        mark = poolMarks[memberRefEntry.owner().index()];
                    }

test/jdk/java/lang/invoke/indify/Indify.java line 678:

> 676:                         
> if(memberRefEntry.owner().equals(classModel.thisClass())){
> 677:                             mark = 
> nameMark(memberRefEntry.name().stringValue());
> 678:                         }

Suggestion:

                    else {
                        if 
(memberRefEntry.owner().equals(classModel.thisClass())) {
                            mark = 
nameMark(memberRefEntry.name().stringValue());
                        }

test/jdk/java/lang/invoke/indify/Indify.java line 686:

> 684:             return anyMarkChanged;
> 685:         }
> 686:         char nameAndTypeMark(Utf8Entry name, Utf8Entry type){

Suggestion:

        }

        char nameAndTypeMark(Utf8Entry name, Utf8Entry type){

test/jdk/java/lang/invoke/indify/Indify.java line 691:

> 689:             String descriptor = type.stringValue();
> 690:             String requiredType;
> 691:             switch (mark){

Suggestion:

            switch (mark) {

test/jdk/java/lang/invoke/indify/Indify.java line 696:

> 694:                 default:  return 0;
> 695:             }
> 696:             if(matchType(descriptor, requiredType)) return mark;

Suggestion:

            if (matchType(descriptor, requiredType)) return mark;

-------------

PR Review: https://git.openjdk.org/jdk/pull/18841#pullrequestreview-2129054394
PR Review: https://git.openjdk.org/jdk/pull/18841#pullrequestreview-2129056939
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646696601
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646697107
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646697252
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646698327
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646698374
PR Review Comment: https://git.openjdk.org/jdk/pull/18841#discussion_r1646698432

Reply via email to