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