Skip to content

Do not embed the entire Mutator into TLS #301

@wks

Description

@wks

On some architectures, such as RISC-V, the immediate operands of instructions are too small for the size of the Mutator struct. We need to fix this to get RISC-V working. Otherwise we will have to modify the number of allocators in the Allocators struct in mmtk-core, which is not general.

We embed the Mutator struct into TLS to reduce one indirection during allocation fast paths. But the fast paths only need to access the BumpPointer structure of bump allocators and Immix allocators. Our Porting Guide shows how to do this: https://docs.mmtk.io/portingguide/perf_tuning/alloc.html#option-3-embed-the-fast-path-struct

We can experiment on the master branch and get it working. We will then merge it into the jdk-21+35-mmtk branch which will soon become the new master.

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