Mistake in PhaseCPP::analyze()?

Erik Österlund erik.osterlund at oracle.com
Mon Nov 19 16:33:04 UTC 2018


Hi Roman,

That is not intentional. Nice catch!

Thanks,
/Erik

On 2018-11-19 17:16, Roman Kennke wrote:
> I see this code in PhaseCCP::analyze() in phaseX.cpp:
>
>                if (has_load_barriers) {
>                  // Search for load barriers behind the load
>                  for (DUIterator_Fast i3max, i3 = u->fast_outs(i3max); i3
> < i3max; i3++) {
>                    Node* b = u->fast_out(i3);
>                    if (bs->is_gc_barrier_node(b)) {
>                      _worklist.push(b);
>                    }
>                  }
>                }
>                worklist.push(u);
>
> It pushes to _worklist in the inner case (ZGC), but to worklist in the
> outer (general). worklist is the one that's iterated. Is this
> intentional or a mistake?
>
> Roman
>



More information about the zgc-dev mailing list