MMTk signals out of memory after a successful emergency collection

Description

The collection logic in Allocator.allocSlowInline and Space.acquire goes like this:

This means that even if an Emergency collection succeeds, allocSlowInline will trigger an OutOfMemory exception.

This is especially significant in benchmarks that use Soft references, and in collectors that have variable levels of "aggressiveness", such as Immix.

Environment

None

Assignee

Robin Garner

Reporter

Robin Garner

Labels

None

Components

Fix versions

Affects versions

Priority

Medium
Configure