G1: Disallow GC for TLAB allocation

XMLWordPrintable

    • gc
    • b22

        In G1, during allocation of an object currently there are two locations where a GC can occur:

        - during TLAB allocation (i.e. refill)
        - during the following allocation outside TLAB

        This behavior breaks UseGCOverheadLimit support planned in JDK-8212084: if the overhead limit triggers because of TLAB allocation, returning null, the following allocation outside tlab may succeed (due to how UseGCOverheadLimit works, one is required to actually perform the collections), effectively making this feature non-working.

        Fix is to not allow a garbage collection during TLAB allocation, deferring to the following outside-tlab allocation.
        Still, TLAB allocation should still try to allocate a new allocation region.

              Assignee:
              Thomas Schatzl
              Reporter:
              Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: