RFR: 8228604: StackMapFrames are missing from redefined class bytes of retransformed classes
David Holmes
dholmes at openjdk.org
Tue Jan 24 06:16:03 UTC 2023
On Tue, 24 Jan 2023 00:16:10 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
The StackMapTable attribute was introduced to support the new split-verifier by JSR-202. As it is only needed for verification it is elided if verification is not required. Looking at this issue it seems to me that ASM is incorrect to always expect/require that a StackMapTable be present as that is not a requirement of the VM spec.
-------------
PR: https://git.openjdk.org/jdk/pull/12155
More information about the serviceability-dev
mailing list