RFR 8228596: Class redefinition fails when condy instructions are removed

Harold Seigel harold.seigel at oracle.com
Mon Jul 29 13:11:49 UTC 2019

Hi Dean,

Thanks for pointing this out.  There is an existing bug, JDK-8155673 
<https://bugs.openjdk.java.net/browse/JDK-8155673>, to remove constant 
pool merging.  This will prevent similar problems to this one because 
constant pools will no longer need to be merged.

Thanks, Harold

On 7/26/2019 5:44 PM, dean.long at oracle.com wrote:
> I see a fix for a specific problem, but I don't see anything 
> preventing similar problems (a change in ConstantPool that's isn't 
> reflected in VM_RedefineClasses::merge_cp_and_rewrite) from happening 
> again.  I understand that merge_cp_and_rewrite needs to have intimate 
> knowledge of CP internals, but maybe some refactoring could reduce the 
> future change "risk surface".
> dl
> On 7/26/19 5: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
>> 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