Skip to content

Do not embed the entire Mutator into TLS #301

Open

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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