Commit 201cf97
deps: V8: backport bf84766
Original commit message:
[CloneObjectIC] clone MutableHeapNumbers instead of referencing them
Adds a helper macro "CloneIfMutablePrimitive", which tests if the
operand is a MutableHeapNumber, and if so, clones it, otherwise
returning the original value.
Also modifies the signature of "CopyPropertyArrayValues" to take a
"DestroySource" enum, indicating whether or not the resulting object is
supplanting the source object or not, and removes all default
parameters from that macro (which were not used anyways).
This corrects the issue reported in chromium:901301, where
StaNamedOwnProperty was replacing the value of a MutableHeapNumber
referenced by both the cloned object and the source object.
BUG=chromium:901301, v8:7611
R=cbruni@chromium.org, jkummerow@chromium.org
Change-Id: I43df1ddc84dfa4840e680b6affeba452ce0b6629
Reviewed-on: https://chromium-review.googlesource.com/c/1318096
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57304}
PR-URL: #25101
Refs: v8/v8@bf84766
Fixes: #25089
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>1 parent f62e35f commit 201cf97
File tree
5 files changed
+83
-10
lines changed- deps/v8
- src
- ic
- test/mjsunit/es9
5 files changed
+83
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2984 | 2984 | | |
2985 | 2985 | | |
2986 | 2986 | | |
| 2987 | + | |
| 2988 | + | |
| 2989 | + | |
| 2990 | + | |
| 2991 | + | |
| 2992 | + | |
| 2993 | + | |
| 2994 | + | |
| 2995 | + | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
2987 | 3005 | | |
2988 | 3006 | | |
2989 | 3007 | | |
| |||
4405 | 4423 | | |
4406 | 4424 | | |
4407 | 4425 | | |
4408 | | - | |
| 4426 | + | |
| 4427 | + | |
4409 | 4428 | | |
4410 | 4429 | | |
4411 | 4430 | | |
| |||
4417 | 4436 | | |
4418 | 4437 | | |
4419 | 4438 | | |
4420 | | - | |
| 4439 | + | |
| 4440 | + | |
4421 | 4441 | | |
4422 | 4442 | | |
| 4443 | + | |
| 4444 | + | |
| 4445 | + | |
| 4446 | + | |
4423 | 4447 | | |
4424 | 4448 | | |
4425 | 4449 | | |
| |||
4428 | 4452 | | |
4429 | 4453 | | |
4430 | 4454 | | |
| 4455 | + | |
| 4456 | + | |
| 4457 | + | |
| 4458 | + | |
| 4459 | + | |
| 4460 | + | |
| 4461 | + | |
| 4462 | + | |
| 4463 | + | |
| 4464 | + | |
| 4465 | + | |
| 4466 | + | |
4431 | 4467 | | |
4432 | 4468 | | |
4433 | 4469 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1454 | 1454 | | |
1455 | 1455 | | |
1456 | 1456 | | |
1457 | | - | |
1458 | | - | |
1459 | | - | |
1460 | | - | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
1461 | 1470 | | |
1462 | 1471 | | |
1463 | 1472 | | |
| |||
2864 | 2873 | | |
2865 | 2874 | | |
2866 | 2875 | | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
| 2879 | + | |
2867 | 2880 | | |
2868 | 2881 | | |
2869 | 2882 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1667 | 1667 | | |
1668 | 1668 | | |
1669 | 1669 | | |
1670 | | - | |
| 1670 | + | |
| 1671 | + | |
1671 | 1672 | | |
1672 | 1673 | | |
1673 | 1674 | | |
| |||
3471 | 3472 | | |
3472 | 3473 | | |
3473 | 3474 | | |
3474 | | - | |
| 3475 | + | |
3475 | 3476 | | |
3476 | 3477 | | |
3477 | 3478 | | |
| |||
3491 | 3492 | | |
3492 | 3493 | | |
3493 | 3494 | | |
3494 | | - | |
| 3495 | + | |
| 3496 | + | |
3495 | 3497 | | |
3496 | 3498 | | |
3497 | 3499 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
0 commit comments