Skip to content

Use compressed pointer to save internal memory usage in MMTk #1246

Open
@qinsoon

Description

@qinsoon

MMTk currently uses ObjectReference to represent an object. ObjectReference is word sized, and have to be word aligned. If a VM uses compressed pointers, they will have to decompress the pointers and supply those to MMTk as ObjectReference. This means inside MMTk, we always store pointers in its plain form, which can lead to significant memory overhead, compared to using compressed pointers (which is half of the size of plain pointers).

@wks wrote here that we may want to introduce another compressed form of ObjectReference, which can be used where we care about the memory over head. For example, the object queues. We also need the current ObjectReference as it is faster to use (no decompression).

This would be a major change to the code base and our API. I think an MEP is needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-generalArea: all code base (issues with this label may be divided into more concrete issues)C-enhancementCategory: EnhancementF-request-for-MEPCall for participation: Upgraded this issue to an MEP (see mmtk-core/docs/contribute/mep.md)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions