Skip to content

Make the Compressor work with spaces other than LOS #1353

@k-sareen

Description

@k-sareen

Currently the Compressor implementation merged in #1340 only updates pointers in the CompressorSpace and LOS. While this works for OpenJDK (its only currently supported binding), it doesn't work generally since we may have a non-moving space that needs to be updated as well. I'm not sure how this could be accomplished without a write-barrier capturing pointers into the CompressorSpace.

MarkCompact works by having another transitive closure wherein pointers into the MarkCompactSpace get updated with the forwarded values, but implementing this in the Compressor is a non-starter since the whole appeal of the algorithm is that it doesn't perform extra traces, only working off of a mark bitmap.

Cc @no-defun-allowed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions