Repository navigation
Commit 1a48a0f
committed
deps: V8: cherry-pick 7d5eb1df2a72
Backport the Maglev HeapNumber materialization fix to V8 13.6.
Emit a captured HeapNumber with its map and constant numeric value,
using the existing deoptimizer to allocate a fresh box. Reserve a
nonduplicatable object ID for each box. Keep the literal-number helper
for fixed double arrays and captured-object numeric values. No virtual
object slot traversal changes or prerequisite commits are needed.
This mirrors the existing V8 13.6 Turbolev map/value materialization.
Original commit message:
[maglev] Materialize a fresh HeapNumber per deoptimization
This matches what Turbolev graph builder already does to Maglev.
Fixed: 547819997
Change-Id: Iafc1185ef96db8816db36b295a3a4b7e528f9863
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8255554
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Victor Gomes <victorgomes@chromium.org>
Cr-Commit-Position: refs/heads/main@{#109347}
Refs: v8/v8@7d5eb1d
Refs: #66457
Refs: https://www.cve.org/CVERecord?id=CVE-2026-85045
Signed-off-by: inoway46 <inoueyuya416@gmail.com>
Assisted-by: Codex1 parent 83b3431 commit 1a48a0f
3 files changed
Lines changed: 55 additions & 8 deletions
File tree
- deps/v8
- src/maglev
- test/mjsunit/maglev
| 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 | |
|---|---|---|---|
| |||
1466 | 1466 | | |
1467 | 1467 | | |
1468 | 1468 | | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
1469 | 1474 | | |
1470 | 1475 | | |
1471 | 1476 | | |
| |||
1535 | 1540 | | |
1536 | 1541 | | |
1537 | 1542 | | |
1538 | | - | |
1539 | | - | |
1540 | | - | |
| 1543 | + | |
| 1544 | + | |
1541 | 1545 | | |
1542 | | - | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
1543 | 1549 | | |
1544 | 1550 | | |
1545 | 1551 | | |
| |||
1548 | 1554 | | |
1549 | 1555 | | |
1550 | 1556 | | |
1551 | | - | |
1552 | | - | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
1553 | 1562 | | |
1554 | 1563 | | |
1555 | 1564 | | |
| |||
1699 | 1708 | | |
1700 | 1709 | | |
1701 | 1710 | | |
1702 | | - | |
| 1711 | + | |
1703 | 1712 | | |
1704 | 1713 | | |
1705 | 1714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
0 commit comments