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

G1: Disallow GC for TLAB allocation

XMLWordPrintable

    • gc
    • master

      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.

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: