[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8228604: StackMapFrames are missing from redefined class bytes of retransformed classes
From:       Alex Menkov <amenkov () openjdk ! org>
Date:       2023-01-31 23:08:50
Message-ID: o12us4ZdKj2MzQyliFm-isJVTCvTOJMeV4Bm3BA1dL8=.52b7d998-a2c7-4cb2-9564-c52b118bafa1 () github ! com
[Download RAW message or body]

On Tue, 31 Jan 2023 04:48:45 GMT, David Holmes <dholmes@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
> 
> 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?

It also flushes the output stream to avoid possible mix with output of java part of \
the test

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic