Repository navigation
Commit 0a09c02
[JSC][Wasm] Initialize ref arrays with gcSafeMemfill
https://bugs.webkit.org/show_bug.cgi?id=323865
Reviewed by Yusuke Suzuki.
operationWasmArrayFillRefs filled already-visible ref arrays with a
volatile store loop so the concurrent marker would not see a torn
JSValue. Use gcSafeMemfill, the same helper JSWebAssemblyArray::fill
already uses.
The constructor still uses std::ranges::fill. The cell is not visible
to concurrent markers until finishCreation.
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
* JSTests/wasm/gc/bulk-array-element-types.js:
Canonical link: https://commits.webkit.org/320951@main1 parent e68d094 commit 0a09c02
2 files changed
Lines changed: 18 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
314 | 331 | | |
315 | 332 | | |
316 | 333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1799 | 1799 | | |
1800 | 1800 | | |
1801 | 1801 | | |
1802 | | - | |
1803 | | - | |
1804 | | - | |
1805 | | - | |
| 1802 | + | |
1806 | 1803 | | |
1807 | 1804 | | |
1808 | 1805 | | |
| |||
0 commit comments