On Fri, 27 Jun 2025 11:37:30 GMT, Coleen Phillimore <[email protected]> wrote:
>> I copied this code for another test in the Valhalla repo and thought it
>> would be a good utility function. It might be better written using the
>> Classfile API.
>> Tested with test.
>
> Coleen Phillimore has updated the pull request incrementally with one
> additional commit since the last revision:
>
> Rename replaceAllStrings to replaceClassName and add back the byte buffer
> version of the function.
Changes requested by dholmes (Reviewer).
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ClassVersionAfterRedefine.java
line 56:
> 54: // redefining the original version of "TestClassXXX" (i.e.
> "TestClassOld").
> 55: buf = RedefineClassHelper.replaceClassName(cvar, "TestClassNew",
> "TestClassXXX");
> 56: // Now redine the original version of "TestClassXXX" (i.e.
> "TestClassOld").
Suggestion:
// Now redefine the original version of "TestClassXXX" (i.e.
"TestClassOld").
Pre-existing
test/lib/RedefineClassHelper.java line 85:
> 83: * @param bytes in original class file.
> 84: * @param oldClassName old class name.
> 85: * @param newClassName new class name to replace with old class name.
Suggestion:
* @param newClassName new class name to replace the old class name.
test/lib/RedefineClassHelper.java line 87:
> 85: * @param newClassName new class name to replace with old class name.
> 86: */
> 87: public static byte[] replaceClassName(byte[] bytes, String
> oldClassName, String newClassName) throws Exception {
Just realized that `oldClassName` is not actually used. Suggestion:
/*
* Copy the class defined by `bytes`, replacing the name of the class with
`newClassName`, so that both
* old and new classes can be compiled by jtreg for the test.
*
* @param bytes the bytes presenting the original classfile
* @param newClassName the new class name for the returned class representation
* @ return a copy of the class represented by `bytes` but with the name
`newClassName`
*/
public static byte[] replaceClassName(byte[] bytes, String newClassName)
throws Exception {
-------------
PR Review: https://git.openjdk.org/jdk/pull/25857#pullrequestreview-2969920311
PR Review Comment: https://git.openjdk.org/jdk/pull/25857#discussion_r2174234229
PR Review Comment: https://git.openjdk.org/jdk/pull/25857#discussion_r2174235361
PR Review Comment: https://git.openjdk.org/jdk/pull/25857#discussion_r2174242441