RFR 8228596: Class redefinition fails when condy instructions are removed

Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Jul 26 14:03:40 UTC 2019


On 7/26/19 8:04 AM, Harold Seigel wrote:
> Hi,
>
> Please review this small JDK-14 fix for an issue with constant pool 
> merging when redefining a class whose constant pool contains a 
> constant dynamic entry.  The fix makes sure that the 
> has_dynamic_constant flag gets copied properly to the merged constant 
> pool.
>
> Open Webrev: 
> http://cr.openjdk.java.net/~hseigel/bug_8228596/webrev/index.html

src/hotspot/share/prims/jvmtiRedefineClasses.cpp
     L1626:  if (old_cp->has_dynamic_constant()) {
     L1627:    merge_cp->set_has_dynamic_constant();
     L1628:    scratch_cp->set_has_dynamic_constant();
     L1629: }
         L1626-8 need be indented one more space.
         L1629 needs to be indented two more spaces.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineCondy.jasm
     No comments.

test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/TestRedefineCondy.java
     No comments.

At what Mach5 Tier does the new test execute?

Thumbs up. No need to see a new webrev if you fix the indents above.

Dan



>
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8228596
>
> The fix was regression tested by running Mach5 tiers 1 and 2 tests and 
> builds on Linux-x64, Solaris, Windows, and Mac OS X, by running Mach5 
> tiers 3-5 tests on Linux-x64, and JCK lang and VM tests on Linux-x64.
>
> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list