Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin pointer literals in code, and julia values in julia_to_scm #80

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

udesou
Copy link

@udesou udesou commented Dec 10, 2024

Backporting #63 to dev.

@@ -2755,6 +2755,8 @@ extern void mmtk_object_reference_write_slow(void* mutator, const void* parent,
#define MMTK_IMMORTAL_BUMP_ALLOCATOR (0)

// VO bit is required to support conservative stack scanning and moving.
// NB: We have to set VO bit even if this is a non_moving build. Otherwise, assertions in mmtk-core
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason is that we enable mmtk/is_mmtk_object for all the builds. If the feature mmtk/is_mmtk_object is not enabled, VO bit is not used in MMTk and MMTk will not assert VO bit. We can disable the feature mmtk/is_mmtk_object for a non-moving build, and we will not need VO bit here. But I don't know if that is worth doing.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you measure the performance penalty of having the VO bit? If people don't care about fragmentation or if we want to do an apples to apples comparison with stock (both non-moving) I suppose we might want to disable the VO bit depending on whether it's too expensive to maintain it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't measure it with dev. You posted the results for v1.9.2 before: mmtk/mmtk-julia#158 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants