v8/test/unittests
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
..
api Pass Isolate pointer to String::Utf8Value/Value constructors 2017-08-28 18:17:08 +00:00
asmjs [asm.js] Remove some dead AsmType subclasses. 2017-08-25 09:50:29 +00:00
base [base] Allow comparing enums in (D)CHECKs 2017-09-21 13:33:30 +00:00
compiler [turbofan] Properly optimize literals in inlined functions. 2017-09-25 13:05:16 +00:00
compiler-dispatcher Remove Code::FUNCTION type and predicates. 2017-09-11 14:57:57 +00:00
heap [Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal. 2017-09-22 15:26:18 +00:00
interpreter [es2015] Introduce dedicated GetTemplateObject bytecode. 2017-09-22 19:52:30 +00:00
libplatform Delegate getting current wall-clock time to the Platform interface. 2017-08-30 06:28:09 +00:00
parser [parser] Move newly added cctest/test-parsing/LazyFunctionLength to unittests. 2017-04-18 14:27:32 +00:00
wasm [wasm] Remove redundant validation 2017-09-21 13:30:00 +00:00
zone [heap] Simplify and linearly scale ResourceConstraints::ConfigureDefaults. 2017-05-23 17:00:57 +00:00
BUILD.gn Revert "Revert "[wasm] A simple allocator datastructure for off-the heap"" 2017-09-16 05:23:35 +00:00
cancelable-tasks-unittest.cc Make CancelableTask ids unique 2017-08-02 16:10:42 +00:00
char-predicates-unittest.cc Use ICU for ID_START, ID_CONTINUE and WhiteSpace check 2017-06-14 20:32:49 +00:00
code-stub-assembler-unittest.cc [csa] Add constant folding more universally to CodeAssembler operators 2017-09-12 10:03:10 +00:00
code-stub-assembler-unittest.h [csa] Add constant folding more universally to CodeAssembler operators 2017-09-12 10:03:10 +00:00
counters-unittest.cc Localize counter class member functions. 2017-06-08 16:18:32 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
eh-frame-iterator-unittest.cc [turbofan] Avoid disallowed "using namespace" directive. 2017-08-31 11:52:15 +00:00
eh-frame-writer-unittest.cc [turbofan] Avoid disallowed "using namespace" directive. 2017-08-31 11:52:15 +00:00
locked-queue-unittest.cc Add lock-based unbounded queue 2015-11-18 10:54:13 +00:00
object-unittest.cc [runtime] Devirtualize CompilationCacheKey::HashForObject 2017-06-12 17:00:52 +00:00
register-configuration-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
run-all-unittests.cc Make idle tasks optional in the default platform. 2017-03-07 13:37:41 +00:00
source-position-table-unittest.cc This CL enables precise source positions for all V8 compilers. It merges compiler::SourcePosition and internal::SourcePosition to a single class used throughout the codebase. The new internal::SourcePosition instances store an id identifying an inlined function in addition to a script offset. 2016-11-14 17:22:32 +00:00
test-helpers.cc Reland "[builtins] Remove Builtins::Name() accessors" 2017-08-01 10:39:10 +00:00
test-helpers.h [Parsing] Remove parse-task support. 2017-08-18 21:09:30 +00:00
test-utils.cc [cleanup] Replace List with std::vector in IC, Handle code. 2017-08-30 07:35:00 +00:00
test-utils.h [cleanup] Replace List with std::vector in IC, Handle code. 2017-08-30 07:35:00 +00:00
unicode-unittest.cc Fix out-of-range access in unibrow::Utf8::CalculateValue. 2016-11-22 09:27:59 +00:00
unittests.gyp Revert "Revert "[wasm] A simple allocator datastructure for off-the heap"" 2017-09-16 05:23:35 +00:00
unittests.isolate Reland [swarming] Isolate v8 testing. 2015-10-05 09:48:42 +00:00
unittests.status Remove x87 port 2017-07-18 18:20:40 +00:00
value-serializer-unittest.cc [api] Mark non-Isolate constructors of String::Utf8Value/Value for deprecation 2017-08-29 17:42:34 +00:00