Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8230565

ZGC: Redesign C2 load barrier to expand on the MachNode level

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b18

      Backports

        Description

        For many years we have expanded load barriers in the C2 sea of nodes. It has been a constant struggle to keep up with bugs due to optimizations breaking our barriers. One particular pain point that has never been handled quite right up until now, is dealing with safepoints ending up between a load and its load barrier.

        In the end, our barrier is only a conditional branch to a slow path, so there is really nothing that the optimizer can do to help us make that better. But it has many creative ways of breaking our GC invariants.

        I think we have finally had enough of this, and want to move the barrier expansion to the MachNode level instead. This way, we can finally put an end to the load and its load barrier being separated (and related even more complicated issues for atomics).

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  eosterlund Erik Ă–sterlund
                  Reporter:
                  eosterlund Erik Ă–sterlund
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: