RFR: 8228604: StackMapFrames are missing from redefined class bytes of retransformed classes [v3]

Chris Plummer cjplummer at openjdk.org
Thu Feb 2 18:43:26 UTC 2023


On Thu, 2 Feb 2023 00:17:58 GMT, Alex Menkov <amenkov at openjdk.org> wrote:

>> classFileParser drops stack map frames for JDK classes (when verification is not required).
>> As a result JvmtiClassFileReconstituter cannot restore the attribute for class redefinition.
>> Note that if the class is in CDS archive, the frames are restored from CDS, so this issue affects only JDK classes which are not in CDS.
>> This code is old (from "initial load") and I don't understand the reason it was implemented this way.
>> 
>> Testing: tier1-tier6
>
> Alex Menkov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Updated test - addressed review comments

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

> 101:                                        + " (expected " + expectedCount + ")");
> 102:         }
> 103:     }

You added this method but are not using it. I think below the first call to checkStackMapFrames() needs to save the frameCount returned and then pass it in to the second call to checkStackMapFrames().

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

PR: https://git.openjdk.org/jdk/pull/12155


More information about the serviceability-dev mailing list