RFR 8228596: Class redefinition fails when condy instructions are removed

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


I forgot to mention that you should ping the Serviceability team for
this since both the code and new test are in JVM/TI. I believe that
Serguei is handling JVM/TI these days so I've added him on this
email thread...

Dan


On 7/26/19 10:03 AM, Daniel D. Daugherty wrote:
> 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