RFR: JDK-8222333: fastdebug build broken after JDK-8221393

Zhengyu Gu zgu at redhat.com
Thu Apr 11 13:57:02 UTC 2019



On 4/11/19 8:33 AM, Ao Qi wrote:
> On Thu, Apr 11, 2019 at 8:09 PM Zhengyu Gu <zgu at redhat.com> wrote:
>>
>>
>>
>> On 4/11/19 7:51 AM, Ao Qi wrote:
>>> Thanks Zhengyu. Updated:
>>> http://cr.openjdk.java.net/~aoqi/8222333/webrev.01/ .
>>> linux-x86_64-server-release  hotspot:tier1_gc tested.
>>
>> Sorry if I did not explain clearly.
>>
>> (2) just an example. You would have to do the same for phases that start
>> with following comments:
>>
>> /* Per-thread timer block, should have "roots" counters in consistent
>> order */
>>
>> such as, scan_roots, update_roots, init_evac and etc.
> 
> Sorry, my mistake. Updated: http://cr.openjdk.java.net/~aoqi/8222333/webrev.02/

Looks good.

Thanks,

-Zhengyu

> 
> Is other modifications needed?
> 
> $ grep "Per-thread timer block"
> src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
>    /* Per-thread timer block, should have "roots" counters in
> consistent order */        \
> 
> $ grep "stringtable_roots"
> src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
>    f(scan_stringtable_roots,                         "    S: String
> Table Roots")        \
>    f(update_stringtable_roots,                       "    U: String
> Table Roots")        \
>    f(evac_stringtable_roots,                         "    E: String
> Table Roots")        \
>    f(final_update_stringtable_roots,                  "    UR: String
> Table Roots")      \
>    f(degen_gc_update_stringtable_roots,               "    DU: String
> Table Roots")      \
>    f(init_traversal_gc_stringtable_roots,             "    TI: String
> Table Roots")      \
>    f(final_traversal_gc_stringtable_roots,            "    TF: String
> Table Roots")      \
>    f(final_traversal_update_stringtable_roots,           "    TU:
> String Table Roots")   \
>    f(full_gc_stringtable_roots,                       "    F: String
> Table Roots")       \
> 
> $ grep "resolved_method_table_roots"
> src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
>    f(scan_resolved_method_table_roots,               "    S: Resolved
> Table Roots")      \
>    f(update_resolved_method_table_roots,             "    U: Resolved
> Table Roots")      \
>    f(evac_resolved_method_table_roots,               "    E: Resolved
> Table Roots")      \
>    f(final_update_resolved_method_table_roots,        "    UR: Resolved
> Table Roots")    \
>    f(degen_gc_update_resolved_method_table_roots,     "    DU: Resolved
> Table Roots")    \
>    f(init_traversal_gc_resolved_method_table_roots,   "    TI: Resolved
> Table Roots")    \
>    f(final_traversal_gc_resolved_method_table_roots,  "    TF: Resolved
> Table Roots")    \
>    f(final_traversal_update_resolved_method_table_roots, "    TU:
> Resolved Table Roots") \
>    f(full_gc_resolved_method_table_roots,             "    F: Resolved
> Table Roots")     \
> 
> 
> 
>>
>> Thanks,
>>
>> -Zhengyu
>>
>>
>>>
>>> On Thu, Apr 11, 2019 at 7:25 PM Zhengyu Gu <zgu at redhat.com> wrote:
>>>>
>>>> Hi Ao Qi,
>>>>
>>>> 1) Style does not match
>>>>      f(StringTableRoots,        "StringTable Roots(ms):")          \
>>>> +  f(Resolved_Method_TableRoots, "Resolved_Method_Table Roots(ms):")
>>>>
>>>> 'Resolved_Method_TableRoots' => ResolvedMethodTableRoots
>>>>
>>>>
>>>> 2) This is a sub-phase, you also need corresponding phases, For example:
>>>>
>>>> f(scan_jfr_weak_roots,                            "    S: JFR Weak Roots")            \
>>>> f(scan_jni_weak_roots,                            "    S: JNI Weak Roots")            \
>>>> f(scan_stringtable_roots,                         "    S: String Table Roots")        \
>>>> f(scan_resolved_method_table_roots,               "    S: Resolved Table Roots")      \
>>>> f(scan_vm_weak_roots,                             "    S: VM Weak Roots")             \
>>>>
>>>> Thanks,
>>>>
>>>> -Zhengyu
>>>>
>>>> On 4/11/19 7:07 AM, Ao Qi wrote:
>>>>
>>>> Hi,
>>>>
>>>> Bugs:
>>>> https://bugs.openjdk.java.net/browse/JDK-8222333
>>>>
>>>> Webrev:
>>>> http://cr.openjdk.java.net/~aoqi/8222333/webrev.00/
>>>>
>>>> fastdebug build is broken after JDK-8221393. It seems that
>>>> phase_mapping[] doesn't match enum Phase in WeakProcessorPhases
>>>> anymore. Is this fix ok? I am not familiar with shenandoah.
>>>> linux-x86_64-server-release hotspot:tier1 tested.
>>>>
>>>> Thanks,
>>>> Ao Qi



More information about the hotspot-gc-dev mailing list