Skip to content

MarkedVector::fill should register itself as a root https://bugs.webk…#1656

Open
aoikonomopoulos wants to merge 1 commit intoWebPlatformForEmbedded:wpe-2.38from
aoikonomopoulos:wpe-2.38-backport-markedvector-fill-fix
Open

MarkedVector::fill should register itself as a root https://bugs.webk…#1656
aoikonomopoulos wants to merge 1 commit intoWebPlatformForEmbedded:wpe-2.38from
aoikonomopoulos:wpe-2.38-backport-markedvector-fill-fix

Conversation

@aoikonomopoulos
Copy link
Copy Markdown

@aoikonomopoulos aoikonomopoulos commented May 5, 2026

…it.org/show_bug.cgi?id=255951 rdar://108261913

Reviewed by Alexey Shvayka and Justin Michaud.

  1. MarkedVector::fill is not registering itself as a strong root of GC. This patch fixes it with m_markSet->add.
  2. Initialize buffer with empty value in MarkedVector::fill. This buffer can be scanned via GC when GC is invoked from a passed lambda.
  • JSTests/stress/marked-buffer-fill-should-be-gc-aware.js: Added. (foo):
  • Source/JavaScriptCore/llint/LLIntSlowPaths.cpp: (JSC::LLInt::handleVarargsCheckpoint):
  • Source/JavaScriptCore/runtime/ArgList.h: (JSC::MarkedVector::fill):

Originally-landed-as: 259548.690@safari-7615-branch (b05050e0cc00). rdar://108261913
Canonical link: https://commits.webkit.org/266449@main

Pull Request Template

File a Bug

All changes should be associated with a bug. The WebKit project is currently using Bugzilla as our bug tracker. Note that multiple changes may be associated with a single bug.

Provided Tooling

The WebKit Project strongly recommends contributors use Tools/Scripts/git-webkit to generate pull requests. See Setup and Contributing Code for how to do this.

Template

If a contributor wishes to file a pull request manually, the template is below. Manually-filed pull requests should contain their commit message as the pull request description, and their commit message should be formatted like the template below.

Additionally, the pull request should be mentioned on Bugzilla, labels applied to the pull request matching the component and version of the Bugzilla associated with the pull request and the pull request assigned to its author.

< bug title >
https://bugs.webkit.org/show_bug.cgi?id=#####

Reviewed by NOBODY (OOPS!).

Explanation of why this fixes the bug (OOPS!).

* path/changed.ext:
(function):
(class.function):

f799620

Build-Tests Layout-Tests
✅ 🛠 wpe-238-amd64-build ✅ 🧪 wpe-238-amd64-layout
✅ 🛠 wpe-238-arm32-build ✅ 🧪 wpe-238-arm32-layout

…it.org/show_bug.cgi?id=255951 rdar://108261913

Reviewed by Alexey Shvayka and Justin Michaud.

1. MarkedVector::fill is not registering itself as a strong root of GC. This patch fixes it with m_markSet->add.
2. Initialize buffer with empty value in MarkedVector::fill. This buffer can be scanned via GC when GC is invoked from
   a passed lambda.

* JSTests/stress/marked-buffer-fill-should-be-gc-aware.js: Added.
(foo):
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleVarargsCheckpoint):
* Source/JavaScriptCore/runtime/ArgList.h:
(JSC::MarkedVector::fill):

Originally-landed-as: 259548.690@safari-7615-branch (b05050e0cc00). rdar://108261913
Canonical link: https://commits.webkit.org/266449@main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants