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

David Holmes dholmes at openjdk.org
Tue Jan 31 04:53:55 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

I asked within runtime team if there were any concerns about keeping the stackmap table in all cases and there were not.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/libMissedStackMapFrames.cpp line 29:

> 27: #include <string.h>
> 28: 
> 29: static void _log(const char* format, ...) {

Why do you need this instead of just calling printf?

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

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


More information about the hotspot-runtime-dev mailing list