-
Notifications
You must be signed in to change notification settings - Fork 3
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
Conversation
@@ -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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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)
This PR ports #157 and #184 to dev. It also adds an optimization that if a task is not started, the conservative stack scanning can be skipped for the task. Merge with mmtk/julia#80. --------- Co-authored-by: Yi Lin <[email protected]>
This PR ports mmtk#157 and mmtk#184 to dev. It also adds an optimization that if a task is not started, the conservative stack scanning can be skipped for the task. Merge with mmtk/julia#80. --------- Co-authored-by: Yi Lin <[email protected]>
…ia_to_scm (mmtk#80) Backporting mmtk#63 to `dev`. Co-authored-by: Yi Lin <[email protected]>
Backporting #63 to
dev
.