On Thu, 26 Jun 2025 16:11:16 GMT, Chen Liang <li...@openjdk.org> wrote:

>> For early eval; test by changing the ClassReader max accepted version of 
>> test ASM to 24 instead of 25
>
> Chen Liang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Update test/hotspot/jtreg/compiler/calls/common/InvokeDynamicPatcher.java
>   
>   Co-authored-by: Andrew Haley <aph-o...@littlepinkcloud.com>

Thank you for making these changes!
I've looked at the `jvmti` tests only and posted some questions and nits.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/MissedStackMapFrames.java
 line 82:

> 80:                 };
> 81:             }
> 82:         };

Nit: The code above is not well readable. The variable names need to be more 
clear, or we need some comments explaining the abbreviations. Not everyone who 
is reading this code is familiar with the `ClassFile` api.
 `cm`: codeModel
 `mth`: ?
 `optSmt`: ?

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineAnnotations.java
 line 88:

> 86:             var cf = 
> ClassFile.of(ClassFile.ConstantPoolSharingOption.NEW_POOL);
> 87:             return cf.transformClass(cf.parse(classfileBuffer), new 
> ClassTransform() {
> 88:                 // Shuffle constant pool

Q: What does `cf` mean, class file, code model or ...?

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineGenericSignatureTest.java
 line 151:

> 149:         var cf = ClassFile.of();
> 150:         return cf.transformClass(cf.parse(bytecode), new 
> ClassTransform() {
> 151:             private boolean sourceSet = false;

Q: Same question as above.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineObject.java 
line 71:

> 69:                 } else {
> 70:                     cb.with(ce);
> 71:                 }

Nit: I'd suggest to rename the variables with implicit types:
  `cb` => `builder` or `classBuilder`
  `ce` => `element` or `classElement`

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRetransform/RedefineRetransform.java
 line 102:

> 100:         var cm = ClassFile.of().parse(classBytes);
> 101:         var rvaa = 
> cm.findAttribute(Attributes.runtimeVisibleAnnotations()).orElseThrow();
> 102:         var elements = rvaa.annotations().stream().filter(anno -> 
> anno.className().isFieldType(CD_ClassVersion)).findFirst().orElseThrow().elements();

Nit: The line above is too long.

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

Changes requested by sspitsyn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25124#pullrequestreview-2980702277
PR Review Comment: https://git.openjdk.org/jdk/pull/25124#discussion_r2181014791
PR Review Comment: https://git.openjdk.org/jdk/pull/25124#discussion_r2181020007
PR Review Comment: https://git.openjdk.org/jdk/pull/25124#discussion_r2181021096
PR Review Comment: https://git.openjdk.org/jdk/pull/25124#discussion_r2181025634
PR Review Comment: https://git.openjdk.org/jdk/pull/25124#discussion_r2181026494

Reply via email to