RFR 8228596: Class redefinition fails when condy instructions are removed

dean.long at oracle.com dean.long at oracle.com
Mon Jul 29 21:23:26 UTC 2019

On 7/29/19 6:11 AM, Harold Seigel wrote:
> 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.

OK, sounds good.


> 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