RFR(xs) 8232030: HelloDynamic.java fails with latest Graal

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Oct 18 12:27:08 UTC 2019


This looks good to me also.
Coleen

On 10/17/19 9:03 PM, Calvin Cheung wrote:
> Thanks, Ioi.
>
> On 10/17/19 1:08 PM, Ioi Lam wrote:
>> Hi Calvin, this looks good. Thanks!
>>
>> Ioi
>>
>>> On Oct 17, 2019, at 11:50 AM, Calvin Cheung 
>>> <calvin.cheung at oracle.com> wrote:
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8232030
>>>
>>> During CDS dynamic dumping and during the loading of a class whose 
>>> super class has default methods, the method_ordering is not set 
>>> correctly after merging in the default methods. A simple fix is in 
>>> the merge_in_new_methods() of defaultMethods.cpp to include the 
>>> dynamic dumping condition when setting up the merged_ordering array.
>>>
>>> bash-4.2$ hg diff src/hotspot/share/classfile/defaultMethods.cpp
>>> diff --git a/src/hotspot/share/classfile/defaultMethods.cpp 
>>> b/src/hotspot/share/classfile/defaultMethods.cpp
>>> --- a/src/hotspot/share/classfile/defaultMethods.cpp
>>> +++ b/src/hotspot/share/classfile/defaultMethods.cpp
>>> @@ -1012,7 +1012,7 @@
>>>         klass->class_loader_data(), new_size, NULL, CHECK);
>>>
>>>     // original_ordering might be empty if this class has no methods 
>>> of its own
>>> - if (JvmtiExport::can_maintain_original_method_order() || 
>>> DumpSharedSpaces) {
>>> + if (JvmtiExport::can_maintain_original_method_order() || 
>>> Arguments::is_dumping_archive()) {
>>>       merged_ordering = MetadataFactory::new_array<int>(
>>>           klass->class_loader_data(), new_size, CHECK);
>>>     }
>>>
>>> Tested manually with the vmoptions listed in the bug report.
>>>
>>> Also ran tier1 - 2 tests.
>>>
>>> thanks,
>>>
>>> Calvin
>>>



More information about the hotspot-runtime-dev mailing list