v8/test
Benedikt Meurer 855b88ae5a [turbofan] Properly optimize literals in inlined functions.
When inlining based on SharedFunctionInfo rather than based on concrete
JSFunction, we weren't able to properly optimize array, object and
regexp literals inside the inlinee, because we didn't know the concrete
FeedbackVector for the inlinee inside JSCreateLowering. This was because
JSCreateLowering wasn't properly updated after the literals moved to the
FeedbackVector. Now with this CL we also have the VectorSlotPair on the
literal creation operators, just like we do for property accesses and
calls, and are thus able to always access the appropriate FeedbackVector
and optimize the literal creation.

The impact is illustrated by the micro-benchmark on the tracking bug,
which goes from

  createEmptyArrayLiteral: 1846 ms.
  createShallowArrayLiteral: 1868 ms.
  createShallowObjectLiteral: 2246 ms.

to

  createEmptyArrayLiteral: 1175 ms.
  createShallowArrayLiteral: 1187 ms.
  createShallowObjectLiteral: 1195 ms.

with this CL, so up to 2x faster now.

Drive-by-fix: Also remove the unused CreateEmptyObjectLiteral builtin
and cleanup the names of the other builtins to be consistent with the
names of the TurboFan operators and Ignition bytecodes.

Bug: v8:6856
Change-Id: I453828d019b27c9aa1344edac0dd84e91a457097
Reviewed-on: https://chromium-review.googlesource.com/680656
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48140}
2017-09-25 13:05:16 +00:00
..
benchmarks Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
cctest [cleanup] Fix (D)CHECK macros in src/heap 2017-09-25 10:25:13 +00:00
common Revert "Add capability of throwing values in WASM" 2017-09-15 20:27:39 +00:00
debugger [bigint] Add bytecodes for unary-minus and bitwise-not 2017-09-12 19:07:59 +00:00
fuzzer [iwyu] Remove obsolete "api.h" include from "handles-inl.h". 2017-09-11 12:52:20 +00:00
inspector [cleanup] Fix (D)CHECK macros in src/{debug,inspector} 2017-09-25 12:20:59 +00:00
intl Fix common misspellings 2017-08-02 09:35:28 +00:00
js-perf-test Implement microbenchmark for has-in idiom 2017-09-13 08:48:44 +00:00
memory [snapshot] add tracking for builtin snapshot size. 2017-08-31 07:29:31 +00:00
message [builtins] Port String.prototype.repeat to CSA 2017-09-15 06:51:56 +00:00
mjsunit [asm.js] Fix Math.min/max signatures to take signed. 2017-09-25 12:58:57 +00:00
mkgrokdump Fix compilation failure due to overload of virtual function 2017-05-24 21:19:48 +00:00
mozilla Reland "[d8] implement setTimeout." 2017-09-05 07:30:46 +00:00
preparser
promises-aplus Fix common misspellings 2017-08-02 09:35:28 +00:00
test262 [intl] fix off-by-1 in NumberFormat formatToParts parameter parsing 2017-09-18 20:07:23 +00:00
unittests [turbofan] Properly optimize literals in inlined functions. 2017-09-25 13:05:16 +00:00
wasm-spec-tests [wasm] Update the wasm spec tests 2017-09-05 09:44:48 +00:00
webkit [parser] Inline ParseStatemantAsUnlabelled into its only useful caller 2017-09-07 21:01:46 +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