v8/test/cctest
Caitlin Potter 93fc3841c3 [parsing] inline ArrayLiteral creation for spread calls
Instead of using runtime calls to generate the Array Literal passed to
%reflect_call / %reflect_construct, we create an ArrayLiteral from the
list of arguments, and perform spreads using the interpreter mechanism for
spreading in ArrayLiterals (thus, the spreading becomes inline). This
array literal is still passed to %reflect_call / %reflect_construct as
before.

This cuts the runtime for bench-spread-call.js -> testSpread roughly in
half, and will likely improve further once
https://chromium-review.googlesource.com/c/v8/v8/+/915364 has landed.

BUG=v8:7446
R=neis@chromium.org, adamk@chromium.org

Change-Id: I74a6acd3a60aad422e4ac575275c7b567659d8ad
Reviewed-on: https://chromium-review.googlesource.com/939587
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51678}
2018-03-02 08:44:26 +00:00
..
compiler [parsing] inline ArrayLiteral creation for spread calls 2018-03-02 08:44:26 +00:00
heap [heap] Move FreeListCategory memory out of the page header. 2018-02-27 15:39:04 +00:00
interpreter [parsing] inline ArrayLiteral creation for spread calls 2018-03-02 08:44:26 +00:00
libplatform [tracing] allow embedders to provide own tracing timestamps 2018-01-10 19:36:23 +00:00
libsampler
parsing [class] Fix lazy parsing of private fields 2018-02-07 18:12:50 +00:00
wasm [wasm] Add I64 Atomic binary operations for x64 2018-03-02 00:30:54 +00:00
assembler-helper-arm.cc Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
assembler-helper-arm.h Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
BUILD.gn [wasm] Add I64 Atomic binary operations for x64 2018-03-02 00:30:54 +00:00
cctest_exe.isolate
cctest.cc [wasm] First step of refactoring trap handling to be per module. 2017-12-07 01:00:55 +00:00
cctest.h [v8 platform] Rename BackgroundThread methods to WorkerThreads method. 2018-03-01 15:30:35 +00:00
cctest.isolate
cctest.status [test] Skip flaky cpu-profiler test 2018-02-23 17:16:17 +00:00
DEPS
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-fixed.h
gay-precision.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-precision.h
gay-shortest.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-shortest.h
log-eq-of-logging-and-traversal.js Reland "[logging] Use OFStream for log events" 2017-10-20 22:47:01 +00:00
OWNERS [MIPS] Add Sreten Kovacevic as owner of MIPS files 2018-02-09 15:35:49 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h [iwyu] More iwyu fixes (date, execution etc.) 2018-02-26 08:59:59 +00:00
profiler-extension.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
profiler-extension.h
scope-test-helper.h [reland] [parser] Skipping inner funcs: Use less memory for variables. 2017-10-25 08:49:37 +00:00
setup-isolate-for-tests.cc [heap] remove heap init from shipping binary. 2017-09-07 05:24:49 +00:00
setup-isolate-for-tests.h [heap] remove heap init from shipping binary. 2017-09-07 05:24:49 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
test-accessors.cc [ic] Properly handle kApiGetter case with null prototype. 2018-03-01 15:18:44 +00:00
test-allocation.cc Fix [Memory] Add OnCriticalMemoryPressure overload to v8::Platform. 2017-12-26 10:55:07 +00:00
test-api-accessors.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-api-interceptors.cc Revert "[api] Prefer Descriptor interceptor over Getter in GetPropertyAttributes" 2018-01-04 15:12:20 +00:00
test-api.cc [bigint] Expose BigInt on the API 2018-03-01 18:58:38 +00:00
test-api.h Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-array-list.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-assembler-arm64.cc [arm64] Support CSDB instruction 2018-02-21 10:33:32 +00:00
test-assembler-arm.cc [arm] Introduce UseScratchRegisterScope for VFP registers 2018-02-02 13:05:11 +00:00
test-assembler-ia32.cc Add phaddd/vphaddd, phaddw/vphaddw and vhaddps to ia32 2018-03-01 01:30:59 +00:00
test-assembler-mips64.cc MIPS: Rename macros for sid sysroot update 2018-03-01 12:58:27 +00:00
test-assembler-mips.cc MIPS: Rename macros for sid sysroot update 2018-03-01 12:58:27 +00:00
test-assembler-ppc.cc PPC: Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-10 20:40:13 +00:00
test-assembler-s390.cc PPC/s390: [assembler] Unify RelocInfo::NONE32 and NONE64 2018-01-23 19:09:25 +00:00
test-assembler-x64.cc Add phaddd/vphaddd, phaddw/vphaddw and vhaddps to ia32 2018-03-01 01:30:59 +00:00
test-atomicops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bignum-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-bignum.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bit-vector.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-circular-queue.cc
test-code-layout.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-code-stub-assembler.cc [objects.h splitting] Move Promise-related classes. 2018-02-26 13:19:00 +00:00
test-code-stubs-arm64.cc [simulator] Refactor simulator I-cache to be process-wide. 2018-02-09 18:25:06 +00:00
test-code-stubs-arm.cc [simulator] Refactor simulator I-cache to be process-wide. 2018-02-09 18:25:06 +00:00
test-code-stubs-ia32.cc Refactor bailout reasons 2018-01-04 19:08:45 +00:00
test-code-stubs-mips64.cc [simulator] Refactor simulator I-cache to be process-wide. 2018-02-09 18:25:06 +00:00
test-code-stubs-mips.cc [simulator] Refactor simulator I-cache to be process-wide. 2018-02-09 18:25:06 +00:00
test-code-stubs-x64.cc Refactor bailout reasons 2018-01-04 19:08:45 +00:00
test-code-stubs.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-code-stubs.h [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-compiler.cc [Compiler] Simplify and unify GetSharedFunctionFor[Streamed]Script. 2018-02-21 15:40:13 +00:00
test-constantpool.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-conversions.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-cpu-profiler.cc [cpu-profiler] Fix script name when recording inlining info 2018-01-03 11:48:04 +00:00
test-date.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-debug.cc [debug] remove legacy implementation for break points. 2018-02-26 10:01:39 +00:00
test-decls.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-deoptimization.cc Pass Isolate pointer to String::Utf8Value/Value constructors 2017-08-28 18:17:08 +00:00
test-dictionary.cc [runtime] Make GetHash and GetOrCreateHash member functions 2017-08-22 00:35:31 +00:00
test-disasm-arm64.cc [arm64] Support CSDB instruction 2018-02-21 10:33:32 +00:00
test-disasm-arm.cc [arm] Support CSDB instruction 2018-02-21 12:14:48 +00:00
test-disasm-ia32.cc Add phaddd/vphaddd, phaddw/vphaddw and vhaddps to ia32 2018-03-01 01:30:59 +00:00
test-disasm-mips64.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-disasm-mips.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-disasm-ppc.cc [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-disasm-s390.cc [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-disasm-x64.cc Add phaddd/vphaddd, phaddw/vphaddw and vhaddps to ia32 2018-03-01 01:30:59 +00:00
test-diy-fp.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-double.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-elements-kind.cc [factory] Simplify JSFunction creation 2017-11-08 13:52:13 +00:00
test-experimental-extra.js
test-extra.js [turbofan] Properly optimize calls to promise extras. 2018-02-16 19:46:30 +00:00
test-fast-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-feedback-vector.cc [cleanup] Introduce a dedicated FeedbackCell. 2018-02-22 13:18:48 +00:00
test-feedback-vector.h [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
test-field-type-tracking.cc [cleanup] Replace V8_UINT64_C macro by proper C++11 syntax 2017-12-01 13:13:37 +00:00
test-fixed-dtoa.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-flags.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-func-name-inference.cc [cctest] Add FuncNameInferrer coverage for arrow functions 2017-12-14 21:34:39 +00:00
test-fuzz-arm64.cc [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-global-handles.cc Global handles: More test coverage 2017-11-20 14:48:04 +00:00
test-global-object.cc Pass Isolate pointer to String::Utf8Value/Value constructors 2017-08-28 18:17:08 +00:00
test-hashcode.cc [runtime] Make GetHash and GetOrCreateHash member functions 2017-08-22 00:35:31 +00:00
test-hashmap.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
test-heap-profiler.cc [heap-profiler] Show key as the value retainer for weak maps. 2018-02-26 11:35:45 +00:00
test-identity-map.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-inobject-slack-tracking.cc Reland "[bigint] Add BigInt64Array, BigUint64Array" 2018-02-19 10:23:18 +00:00
test-intl.cc [intl] Implement Intl.NumberFormat.prototype.formatToParts 2017-06-30 20:14:18 +00:00
test-isolate-independent-builtins.cc [builtins] Add IsOffHeapSafe predicate and test 2018-02-23 13:26:13 +00:00
test-javascript-arm64.cc [jumbo] arm64 cctest fixes 2017-09-30 17:17:23 +00:00
test-js-arm64-variables.cc [jumbo] arm64 cctest fixes 2017-09-30 17:17:23 +00:00
test-liveedit.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-lockers.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-log-stack-tracer.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-log.cc Implement code creation events for wasm code on native heap 2018-02-20 08:30:31 +00:00
test-macro-assembler-arm.cc Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
test-macro-assembler-mips64.cc Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
test-macro-assembler-mips.cc Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
test-macro-assembler-x64.cc [assembler] Unify RelocInfo::NONE32 and NONE64 2018-01-22 15:09:32 +00:00
test-managed.cc Refactor Managed construction 2017-09-04 11:37:42 +00:00
test-mementos.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc [bigint] Encapsulate internals in MutableBigInt 2017-11-17 23:06:52 +00:00
test-orderedhashtable.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-parsing.cc Revert "[parser] Implements proposal-numeric-separator." 2018-03-01 23:04:36 +00:00
test-platform.cc [Memory] Create memory management API in v8::internal. 2017-12-15 18:49:47 +00:00
test-profile-generator.cc Refactor FATAL macro 2017-12-19 07:57:12 +00:00
test-random-number-generator.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
test-regexp.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-representation.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-run-wasm-relocation-arm64.cc [assembler] Make {RelocInfo} independent of the Isolate. 2018-02-13 14:13:43 +00:00
test-run-wasm-relocation-arm.cc [assembler] Make {RelocInfo} independent of the Isolate. 2018-02-13 14:13:43 +00:00
test-run-wasm-relocation-ia32.cc [assembler] Make {RelocInfo} independent of the Isolate. 2018-02-13 14:13:43 +00:00
test-run-wasm-relocation-x64.cc [assembler] Make {RelocInfo} independent of the Isolate. 2018-02-13 14:13:43 +00:00
test-sampler-api.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-serialize.cc [Compiler] Don't save FeedbackVector in CompilationCache for Scripts. 2018-02-21 17:07:13 +00:00
test-strings.cc Consolidate UTF-8 Vector<char> to uc16 decoding into Iterator 2018-02-20 20:04:41 +00:00
test-strtod.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-symbols.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-sync-primitives-arm64.cc [simulator] Make Call variadic 2018-01-08 16:53:45 +00:00
test-sync-primitives-arm.cc Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
test-thread-termination.cc [regexp] fix v8_interpreted_regexp build. 2018-02-26 13:53:33 +00:00
test-threads.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-trace-event.cc [tracing] implement TRACE_EVENT_ADD_WITH_TIMESTAMP 2018-01-12 16:27:25 +00:00
test-traced-value.cc Avoid octal escape sequences 2017-12-01 15:08:14 +00:00
test-transitions.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-transitions.h Refactor TransitionArray access 2017-07-28 19:41:21 +00:00
test-typedarrays.cc Reland "[bigint] Add BigInt64Array, BigUint64Array" 2018-02-19 10:23:18 +00:00
test-types.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-unbound-queue.cc
test-unboxed-doubles.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-unscopables-hidden-prototype.cc
test-usecounters.cc [parser] Remove incorrect UseCounter code for LabeledExpressionStatement 2018-01-06 00:17:43 +00:00
test-utils-arm64.cc [arm64] Remove remaining instances of csp 2018-01-18 18:07:18 +00:00
test-utils-arm64.h [arm64] Remove remaining instances of csp 2018-01-18 18:07:18 +00:00
test-utils.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-version.cc [build] Introduce an embedder version string 2017-10-05 07:17:45 +00:00
test-weakmaps.cc [heap] Increase test coverage for embedder tracing 2017-12-07 14:11:51 +00:00
test-weaksets.cc [factory] Simplify JSFunction creation 2017-11-08 13:52:13 +00:00
testcfg.py [test] Remove context usage from test processors 2018-02-01 10:35:02 +00:00
trace-extension.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
trace-extension.h [iwyu] More iwyu fixes (date, execution etc.) 2018-02-26 08:59:59 +00:00
types-fuzz.h
unicode-helpers.h Implement DFA Unicode Decoder 2017-12-11 21:36:13 +00:00