Repository navigation
Commit fb0d0ca
deps: V8: backport 0b94a9fd23ba
Original commit message:
[leaptiering] Fix BaselineOutOfLinePrologue builtin
... which tried to preserve kJavaScriptCallDispatchHandleRegister even
on configurations where it's not used which resulted in a random value
on the stack discoverable by GC.
This issue triggered only on non-sandbox configuration with enabled
leaptiering.
Drive-by: fix MacroAssembler::GenerateTailCallToReturnedCode() on riscv
port which wasn't preserving dispatch handle as all the other ports do.
Bug: 42204201
Fixed: 413769394
Change-Id: If146b0b7a6cf972ed5a881142f40980774f19cba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6587010
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Olivier Flückiger <olivf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100512}
Node.js 24 builds V8 with leaptiering enabled and the sandbox disabled,
so V8_JS_LINKAGE_INCLUDES_DISPATCH_HANDLE is not defined and the JS
calling convention does not carry the dispatch handle register (x4 on
arm64). BaselineOutOfLinePrologue and GenerateTailCallToReturnedCode
still pushed that register as a tagged slot of an INTERNAL frame, so
whatever value the caller left there is dereferenced by
ClearStaleLeftTrimmedPointerVisitor during mark-compact root scanning
and crashes the process with SIGSEGV (seen as jest workers dying).
Refs: v8/v8@0b94a9f
Fixes: #62393
PR-URL: #65753
Reviewed-By: Richard Lau <richard.lau@ibm.com>1 parent 13987f4 commit fb0d0ca
11 files changed
Lines changed: 47 additions & 24 deletions
File tree
- deps/v8/src
- builtins
- arm64
- loong64
- mips64
- riscv
- x64
- codegen
- arm64
- loong64
- mips64
- riscv
- x64
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1293 | 1293 | | |
1294 | 1294 | | |
1295 | 1295 | | |
1296 | | - | |
| 1296 | + | |
1297 | 1297 | | |
1298 | 1298 | | |
1299 | 1299 | | |
1300 | 1300 | | |
| 1301 | + | |
1301 | 1302 | | |
1302 | 1303 | | |
1303 | 1304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1103 | 1103 | | |
1104 | 1104 | | |
1105 | 1105 | | |
1106 | | - | |
| 1106 | + | |
1107 | 1107 | | |
1108 | 1108 | | |
| 1109 | + | |
1109 | 1110 | | |
1110 | 1111 | | |
1111 | 1112 | | |
1112 | 1113 | | |
1113 | 1114 | | |
1114 | | - | |
| 1115 | + | |
1115 | 1116 | | |
1116 | 1117 | | |
1117 | 1118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1065 | 1065 | | |
1066 | 1066 | | |
1067 | 1067 | | |
1068 | | - | |
| 1068 | + | |
1069 | 1069 | | |
1070 | 1070 | | |
| 1071 | + | |
1071 | 1072 | | |
1072 | 1073 | | |
1073 | 1074 | | |
1074 | 1075 | | |
1075 | 1076 | | |
1076 | | - | |
| 1077 | + | |
1077 | 1078 | | |
1078 | 1079 | | |
1079 | 1080 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1099 | 1099 | | |
1100 | 1100 | | |
1101 | 1101 | | |
1102 | | - | |
| 1102 | + | |
| 1103 | + | |
1103 | 1104 | | |
1104 | 1105 | | |
| 1106 | + | |
1105 | 1107 | | |
1106 | 1108 | | |
1107 | 1109 | | |
1108 | 1110 | | |
1109 | 1111 | | |
1110 | | - | |
| 1112 | + | |
| 1113 | + | |
1111 | 1114 | | |
1112 | 1115 | | |
1113 | 1116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2018 | 2018 | | |
2019 | 2019 | | |
2020 | 2020 | | |
2021 | | - | |
| 2021 | + | |
2022 | 2022 | | |
2023 | 2023 | | |
| 2024 | + | |
2024 | 2025 | | |
2025 | 2026 | | |
2026 | 2027 | | |
2027 | 2028 | | |
2028 | 2029 | | |
2029 | | - | |
| 2030 | + | |
2030 | 2031 | | |
2031 | 2032 | | |
2032 | 2033 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1518 | 1518 | | |
1519 | 1519 | | |
1520 | 1520 | | |
1521 | | - | |
1522 | | - | |
1523 | | - | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
1524 | 1524 | | |
1525 | 1525 | | |
1526 | 1526 | | |
| 1527 | + | |
1527 | 1528 | | |
1528 | | - | |
| 1529 | + | |
1529 | 1530 | | |
1530 | 1531 | | |
1531 | 1532 | | |
| |||
1534 | 1535 | | |
1535 | 1536 | | |
1536 | 1537 | | |
1537 | | - | |
| 1538 | + | |
1538 | 1539 | | |
1539 | 1540 | | |
1540 | 1541 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5113 | 5113 | | |
5114 | 5114 | | |
5115 | 5115 | | |
5116 | | - | |
| 5116 | + | |
5117 | 5117 | | |
5118 | 5118 | | |
| 5119 | + | |
5119 | 5120 | | |
5120 | 5121 | | |
5121 | 5122 | | |
| |||
5126 | 5127 | | |
5127 | 5128 | | |
5128 | 5129 | | |
5129 | | - | |
| 5130 | + | |
5130 | 5131 | | |
5131 | 5132 | | |
5132 | 5133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6578 | 6578 | | |
6579 | 6579 | | |
6580 | 6580 | | |
6581 | | - | |
| 6581 | + | |
6582 | 6582 | | |
6583 | 6583 | | |
| 6584 | + | |
6584 | 6585 | | |
6585 | 6586 | | |
6586 | 6587 | | |
6587 | 6588 | | |
6588 | 6589 | | |
6589 | 6590 | | |
6590 | | - | |
| 6591 | + | |
6591 | 6592 | | |
6592 | 6593 | | |
6593 | 6594 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
| 189 | + | |
189 | 190 | | |
190 | 191 | | |
191 | 192 | | |
192 | | - | |
193 | | - | |
| 193 | + | |
| 194 | + | |
194 | 195 | | |
195 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
196 | 204 | | |
197 | | - | |
| 205 | + | |
198 | 206 | | |
199 | 207 | | |
200 | 208 | | |
201 | 209 | | |
202 | 210 | | |
203 | 211 | | |
204 | 212 | | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
205 | 217 | | |
206 | 218 | | |
207 | 219 | | |
| |||
0 commit comments