Repository navigation
script: Use NoGC for note_dirty_element - #47165
Merged
Merged
Conversation
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Narfinger
force-pushed
the
restyle-no-gc
branch
from
August 11, 2026 15:51
546504a to
058a1f6
Compare
Narfinger
marked this pull request as ready for review
August 11, 2026 15:51
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
TimvdLippe
approved these changes
Aug 11, 2026
eachra-bawn
pushed a commit
to eachra-bawn/servo
that referenced
this pull request
Aug 12, 2026
This uses the NoGC framework for note_dirty_element. This replaces the `inclusive_ancestors_in_flat_tree` with an unrooted variant. Additionally, parent_in_flat_tree now always returns an unrooted value as it was easier then implementing the logic separately and a new FlatTreeParent struct. In the cases where we still need the rooted version we use the 'as_rooted()' function. The rest of the changes is just "bubbling up" the NoGC parameter. This saves us in total a 0.2% cpu in a busy script thread slice on walrusaudio.com Testing: This changes just the rooting behavior, hence, no extra tests are necessary. --------- Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
RichardTjokroutomo
pushed a commit
to RichardTjokroutomo/servo
that referenced
this pull request
Oct 6, 2026
This uses the NoGC framework for note_dirty_element. This replaces the `inclusive_ancestors_in_flat_tree` with an unrooted variant. Additionally, parent_in_flat_tree now always returns an unrooted value as it was easier then implementing the logic separately and a new FlatTreeParent struct. In the cases where we still need the rooted version we use the 'as_rooted()' function. The rest of the changes is just "bubbling up" the NoGC parameter. This saves us in total a 0.2% cpu in a busy script thread slice on walrusaudio.com Testing: This changes just the rooting behavior, hence, no extra tests are necessary. --------- Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
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 uses the NoGC framework for note_dirty_element.
This replaces the
inclusive_ancestors_in_flat_treewith an unrooted variant.Additionally, parent_in_flat_tree now always returns an unrooted value as it was easier then implementing the logic separately and a new FlatTreeParent struct.
In the cases where we still need the rooted version we use the 'as_rooted()' function.
The rest of the changes is just "bubbling up" the NoGC parameter.
This saves us in total a 0.2% cpu in a busy script thread slice on walrusaudio.com
Testing: This changes just the rooting behavior, hence, no extra tests are necessary.