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

Ao Qi aoqi at loongson.cn
Thu Apr 11 14:18:20 UTC 2019


On Thu, Apr 11, 2019 at 9:57 PM Zhengyu Gu <zgu at redhat.com> wrote:
>
>
>
> 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 for the guidance and review. Is the fix trivial? Do I need
another review?

Cheers,
Ao Qi
>
> 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