RFR: 8069367: assert(_nextMarkBitMap->isMarked((HeapWord*) obj)) failed

Kim Barrett kim.barrett at oracle.com
Thu Mar 12 21:16:36 UTC 2015


On Mar 12, 2015, at 6:19 AM, Bengt Rutisson <bengt.rutisson at oracle.com> wrote:
> 
> A more stable approach that would actually allow us to enforce the SATB invariant might be to:

The SATB invariant doesn't matter at present, because we aren't
eagerly reclaiming humongous objects that contain references (up to
needing to fix https://bugs.openjdk.java.net/browse/JDK-8072598). It
will matter if/when we attempt to address JDK-8073288 or JDK-8048180.
But as is said in JDK-8048180

    However, the early reclaim mechanism should be seen as something
    for picking low-hanging fruits, not a replacement for the global
    marking, ...

I'm sure there are counter examples (no matter how crazy some behavior
seems, some application somwhere will exhibit it), but I suspect the
vast majority of humongous objects that can even potentially be
reclaimed via this mechanism are basically byte blobs of one kind or
another. If that's true then having eager reclaimation only apply to
such byte blobs (e.g. is_typeArray() is true) is sufficient for a
large fraction of the problem.




More information about the hotspot-gc-dev mailing list