v8/test
Benedikt Meurer e1e35df329 [turbofan] Fix CanTreatHoleAsUndefined check.
The test for CanTreatHoleAsUndefined on keyed element access was
checking for stability of Object.prototype and Array.prototype and
even adding stability dependencies on both, which is too restrictive
and leads to unnecessary deoptimizations (and might disable further
optimization of the keyed access depending on the state of the
prototype objects during optimization). This was not intended and
is considered a (performance) bug.

Instead use the correct approach of checking whether the receiver's
prototype is one of the current Object.prototype or Array.prototype
objects (since the Array protector works isolate-wide), and then
check the Array protector and install an appropriate code dependency
on the protector only.

Bug: v8:6607
Change-Id: I0bcfe32813ca3693e7b22de31b03edb3509d0a27
Reviewed-on: https://chromium-review.googlesource.com/574849
Reviewed-by: Daniel Clifford <danno@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46743}
2017-07-18 16:29:29 +00:00
..
benchmarks Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
cctest [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
common [wasm] Extract WasmVal to own header and rename to WasmValue 2017-07-18 13:12:56 +00:00
debugger [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
fuzzer [wasm] Extract WasmVal to own header and rename to WasmValue 2017-07-18 13:12:56 +00:00
inspector [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
intl [tests] Fix timezone dependence in an intl test 2017-07-12 12:23:22 +00:00
js-perf-test Call the right functions in bitwise bytecode handlers benchmarks. 2017-07-17 10:58:47 +00:00
memory
message [Interpreter] Fix expression position on keyed property loads. 2017-07-18 15:32:29 +00:00
mjsunit [turbofan] Fix CanTreatHoleAsUndefined check. 2017-07-18 16:29:29 +00:00
mkgrokdump Fix compilation failure due to overload of virtual function 2017-05-24 21:19:48 +00:00
mozilla [test] Fix test status file simulator_run not evaluate to boolean error 2017-06-28 21:32:19 +00:00
preparser
promises-aplus
test262 [parser] Update {Binding,Assignment}RestPattern 2017-07-14 00:10:06 +00:00
unittests [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
wasm-spec-tests [wasm][ia32] Add an additional stack check for functions with big frames 2017-07-17 15:21:34 +00:00
webkit [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
bot_default.gyp [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
bot_default.isolate [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
BUILD.gn [wasm] Remove the wasm-asmjs fuzzer 2017-06-21 10:59:35 +00:00
default.gyp [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
default.isolate [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
optimize_for_size.gyp
optimize_for_size.isolate
perf.gyp
perf.isolate Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00