Setting up post alloc function to set VO bit#59
Merged
udesou merged 8 commits intommtk:v1.9.2+RAIfrom Jul 9, 2024
Merged
Conversation
qinsoon
reviewed
Jul 8, 2024
| } | ||
|
|
||
| STATIC_INLINE void mmtk_immortal_post_alloc_fast(MMTkMutatorContext* mutator, void* obj, size_t size) { | ||
| intptr_t addr = (intptr_t) obj; |
Member
There was a problem hiding this comment.
The code to set VO bit is exactly the same for all the spaces. You can extract it to be a separate inlined function, and remove the duplicated code in mmtk_immix_post_alloc_fast and mmtk_immortal_post_alloc_fast.
qinsoon
reviewed
Jul 9, 2024
udesou
added a commit
to mmtk/mmtk-julia
that referenced
this pull request
Jul 11, 2024
This PR introduces the `is_mmtk_object` feature supporting a valid object (VO) bit for conservative stack scanning. It also sets this feature as default. NB: merge with mmtk/julia#59. ~NB2: it requires a change in `mmtk-core` to expose an api function to bulk set the VO bit. (see mmtk/mmtk-core#1157
Merged
qinsoon
added a commit
that referenced
this pull request
Dec 3, 2024
This PR ports #59 to `dev`. In addition, this PR 1. introduces `jl_gc_permsymbol` for allocating the special perm object in `mk_symbol`, 2. removes some seemingly unnecessary post alloc calls for `jl_gc_perm_alloc` in `datatype.c`, and 3. does not support set VO bit using the slowpath (MMTk call).
qinsoon
added a commit
to qinsoon/julia
that referenced
this pull request
Feb 6, 2025
This PR ports mmtk#59 to `dev`. In addition, this PR 1. introduces `jl_gc_permsymbol` for allocating the special perm object in `mk_symbol`, 2. removes some seemingly unnecessary post alloc calls for `jl_gc_perm_alloc` in `datatype.c`, and 3. does not support set VO bit using the slowpath (MMTk call).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR allows setting mmtk's VO bit using the
post_allocfunction. I've added an optionMMTK_CONSERVATIVEthat needs to be set (insideMake.user) in order to enable it. Note that I've also kept the possibility of using the slow pathpost_allocfor debugging purposes.