v8/test/cctest
jgruber d8131cd63a [builtins] Convert CEntry/GetProperty/StringAdd stubs to builtins
Stubs and builtins are very similar. The main differences are that
stubs can be parameterized and may be generated at runtime, whereas
builtins are generated at mksnapshot-time and shipped with the snapshot
(or embedded into the binary).

My main motivation for these conversions is that we can generate
faster calls and jumps to (embedded) builtins callees from (embedded)
builtin callers. Instead of going through the builtins constants table
indirection, we can simply do a pc-relative call/jump.

This also unlocks other refactorings, e.g. removal of
CallRuntimeDelayed.

TBR=mlippautz@chromium.org

Bug: v8:6666
Change-Id: I4cd63477f19a330ec70bbf20e2af8a42fb05fabb
Reviewed-on: https://chromium-review.googlesource.com/1044245
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53027}
2018-05-07 15:02:42 +00:00
..
compiler [wasm] Make wasm::ValueType independent of the MachineRepresentation 2018-05-07 11:54:56 +00:00
heap [heap] Introduce a CodeSpace class. 2018-05-07 14:55:08 +00:00
interpreter Remove the catch variable name from the extension field of catch contexts 2018-05-04 10:12:08 +00:00
libplatform [tracing] allow embedders to provide own tracing timestamps 2018-01-10 19:36:23 +00:00
libsampler Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
parsing Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
wasm [builtins] Convert CEntry/GetProperty/StringAdd stubs to builtins 2018-05-07 15:02:42 +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 [heap] Do eager unmapping in CollectAllAvailableGarbage. 2018-04-19 16:13:04 +00:00
cctest.cc [wasm] Add new API for enabling trap handler 2018-03-20 18:06:38 +00:00
cctest.h [V8 Platform] Better WorkerThreads APIs. 2018-04-30 19:05:40 +00:00
cctest.status Unskip serializer tests 2018-05-07 14:26:08 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
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 [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
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 Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
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 [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +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 [debug] expose SideEffectType when setting template accessors 2018-04-24 22:52:48 +00:00
test-api-interceptors.cc [debug] expose SideEffectType for whitelisting embedder callbacks 2018-04-04 20:08:00 +00:00
test-api.cc [builtins] Convert CEntry/GetProperty/StringAdd stubs to builtins 2018-05-07 15:02:42 +00:00
test-api.h Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-array-list.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-assembler-arm64.cc [arm64] Use direct calls where possible. 2018-04-30 15:02:27 +00:00
test-assembler-arm.cc Reland: [builtins] Patch self-references in constants table 2018-05-02 12:33:06 +00:00
test-assembler-ia32.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-assembler-mips64.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-assembler-mips.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-assembler-ppc.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-assembler-s390.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-assembler-x64.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-layout.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stub-assembler.cc Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +00:00
test-code-stubs-arm64.cc [arm64] Use direct calls where possible. 2018-04-30 15:02:27 +00:00
test-code-stubs-arm.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stubs-ia32.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stubs-mips64.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stubs-mips.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stubs-x64.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stubs.cc [ubsan] Fix many static_cast<int32_t> with undefined behavior 2018-04-17 02:02:18 +00:00
test-code-stubs.h [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-compiler.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-constantpool.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-conversions.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-cpu-profiler.cc [cpu-profiler] Do not store CodeEntries between profiling sessions. 2018-05-04 20:58:44 +00:00
test-date.cc Reland "Implement a new spec for timezone offset calculation" 2018-04-04 22:42:30 +00:00
test-debug.cc Report late-bound scripts to the debugger 2018-04-17 18:27:36 +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 Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-disasm-arm64.cc [arm64] Support CSDB instruction 2018-02-21 10:33:32 +00:00
test-disasm-arm.cc [arm] Fix SplitAddImmediate test on Armv6. 2018-04-23 17:00:36 +00:00
test-disasm-ia32.cc [ia32][wasm] Add AnyTrue and AllTrue. 2018-04-19 13:24:01 +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 [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +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 Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
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 Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-feedback-vector.h [objects] Merge SFI outer_scope_info and feedback_metadata 2018-04-06 15:06:04 +00:00
test-field-type-tracking.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +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 Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +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 Revert "[parser] Slice the source string where possible" 2018-05-02 15:32:13 +00:00
test-identity-map.cc Change IdentityMap::Delete signature 2018-04-20 11:27: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 Reland "[builtins] Introduce further constant & external reference indirections" 2018-04-26 15:27:22 +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 [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-log.cc Reland "[profiler] Ensure there's a single ProfilerListener per isolate." 2018-04-18 21:37:12 +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 MIPS[64]: Rewrite overflow instructions 2018-03-16 10:47:20 +00:00
test-macro-assembler-mips.cc MIPS[64]: Rewrite overflow instructions 2018-03-16 10:47:20 +00:00
test-macro-assembler-x64.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-managed.cc [wasm] Implement Managed<T> with std::shared_ptr<T> 2018-04-26 15:53:42 +00:00
test-mementos.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-orderedhashtable.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-parsing.cc Revert "[parser] Slice the source string where possible" 2018-05-02 15:32:13 +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 [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +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 [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-representation.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-sampler-api.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-serialize.cc Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +00:00
test-strings.cc Revert "[heap] Mark RO_SPACE as read-only after deserialization" 2018-05-03 10:17:19 +00:00
test-strtod.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-symbols.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-sync-primitives-arm64.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-sync-primitives-arm.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-thread-termination.cc Reland "[inspector] added timeout for Debugger.evaluateOnCallFrame method" 2018-04-26 15:08:52 +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] add INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP 2018-05-02 17:44:54 +00:00
test-traced-value.cc Avoid octal escape sequences 2017-12-01 15:08:14 +00:00
test-transitions.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-transitions.h [reland] [in-place weak refs] Replace the WeakCell potentially in Map::raw_transitions_. 2018-04-05 16:24:06 +00:00
test-typedarrays.cc Reland "[builtins] Separate species protectors for Array, TypedArray, Promise" 2018-04-23 17:52:50 +00:00
test-types.cc [turbofan] Remove the hacky Type::operator-> overload 2018-04-30 09:39:12 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [objects.h splitting] Move classes related to api callbacks. 2018-05-02 10:24:44 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
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 Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-weaksets.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
testcfg.py [test] Remove context usage from test processors 2018-02-01 10:35:02 +00:00
trace-extension.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
trace-extension.h [iwyu] More iwyu fixes (date, execution etc.) 2018-02-26 08:59:59 +00:00
types-fuzz.h [turbofan] Remove the hacky Type::operator-> overload 2018-04-30 09:39:12 +00:00
unicode-helpers.h Implement DFA Unicode Decoder 2017-12-11 21:36:13 +00:00