v8/test/mjsunit/es9
Caitlin Potter bf84766a2c [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}
2018-11-07 03:15:45 +00:00
..
regress [CloneObjectIC] copy may_have_interesting_symbols bit to fast result map 2018-08-04 16:48:18 +00:00
object-rest-basic.js [esnext] Remove --harmony-object-rest-spread flag 2017-10-25 19:47:29 +00:00
object-spread-basic.js [esnext] Remove --harmony-object-rest-spread flag 2017-10-25 19:47:29 +00:00
object-spread-ic-dontenum-transition.js [CloneObjectIC] add CSA implementation of slow case 2018-09-11 20:43:53 +00:00
object-spread-ic-multiple-transitions.js [CloneObjectIC] add CSA implementation of slow case 2018-09-11 20:43:53 +00:00
object-spread-ic.js [CloneObjectIC] clone MutableHeapNumbers instead of referencing them 2018-11-07 03:15:45 +00:00
regexp-lookbehind.js [regexp] make lookbehind assertions non-quantifiable. 2018-02-20 11:24:32 +00:00
template-escapes.js Remove always-on --harmony-template-escapes flag 2017-11-28 18:36:41 +00:00