v8/test
Jakob Gruber 2859dba713 [csa] Canonicalize empty elements in AllocateJSArray
Prior to this, AllocateJSArray would go ahead and allocate an empty
FixedArray as elements if passed any capacity that is not a compile-time
constant 0.

Things break later on since we rely on the fact that empty fixed arrays
are always canonicalize, and we use

  obj.elements == empty_fixed_array_constant

interchangeably with

  obj.elements.length == 0.

This CL introduces two new branches in AllocateJSArray: one if the
capacity is known to be non-zero; and another that explicitly
distinguishes between 0 and non-zero capacities.

Bug: chromium:760790
Change-Id: I7c22b19ce9ce15a46f91b0f75e6b4a1ff3a29a0f
Reviewed-on: https://chromium-review.googlesource.com/645959
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47776}
2017-09-01 16:56:53 +00:00
..
benchmarks Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
cctest [wasm] Remove 'using namespace' from cctest/wasm 2017-09-01 13:49:24 +00:00
common [wasm] Naming consistency for min/max pages and sizes in wasm-module.h 2017-08-10 15:43:10 +00:00
debugger [turbofan] Support inline allocation of mapped outer arguments. 2017-09-01 09:52:59 +00:00
fuzzer [wasm] [fuzzer] Avoid 'using namespace' 2017-09-01 14:23:35 +00:00
inspector Reland of Inspector: Runtime.callFunctionOn to accept executionContextId 2017-08-31 02:23:06 +00:00
intl Fix common misspellings 2017-08-02 09:35:28 +00:00
js-perf-test [js-perf-tests] Fix Modules benchmarks 2017-08-29 16:50:44 +00:00
memory [snapshot] add tracking for builtin snapshot size. 2017-08-31 07:29:31 +00:00
message [builtins] Move TypedArrayPrototypeSet to builtins 2017-09-01 04:43:56 +00:00
mjsunit [csa] Canonicalize empty elements in AllocateJSArray 2017-09-01 16:56:53 +00:00
mkgrokdump Fix compilation failure due to overload of virtual function 2017-05-24 21:19:48 +00:00
mozilla Enable --harmony-strict-legacy-accessor-builtins by default 2017-08-02 21:30:57 +00:00
preparser [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
promises-aplus Fix common misspellings 2017-08-02 09:35:28 +00:00
test262 [intl] Implement Intl.PluralRules behind --harmony-plural-rules 2017-08-21 22:23:59 +00:00
unittests [wasm] Remove 'using namespace' from cctest/wasm 2017-09-01 13:49:24 +00:00
wasm-spec-tests [wasm] Update spec tests 2017-07-25 14:55:07 +00:00
webkit Fix common misspellings 2017-08-02 09:35:28 +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 [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
optimize_for_size.isolate [debugger] basic test infrastructure for new debugger test api. 2016-10-21 06:38:05 +00:00
perf.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
perf.isolate Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00