v8/test/cctest
Junliang Yan cae7667c19 PPC/s390: Reland [turbofan] Implement on-stack returns (Intel)
Port bd732f7ddd

Original Commit Message:

    The original CL introduced a test which uses a random number generator.
    I disable the test for now, which is okay because this CL adds to a
    work-in-progress feature anyways, and I will fix the problem in another
    CL.

    Original description:
    Add the ability to return (multiple) return values on the stack:

    - Extend stack frames with a new buffer region for return slots.
      This region is located at the end of a caller's frame such that
      its slots can be indexed as caller frame slots in a callee
      (located beyond its parameters) and assigned return values.
    - Adjust stack frame constructon and deconstruction accordingly.
    - Extend linkage computation to support register plus stack returns.
    - Reserve return slots in caller frame when respective calls occur.
    - Introduce and generate architecture instructions ('peek') for
      reading back results from return slots in the caller.
    - Aggressive tests.
    - Some minor clean-up.

    So far, only ia32 and x64 are implemented.

R=ahaas@chromium.org, joransiu@ca.ibm.com, jbarboza@ca.ibm.com
BUG=
LOG=N

Change-Id: I8d63286aa5af5f52cc2eeaf2adeee13d0ff19e7d
Reviewed-on: https://chromium-review.googlesource.com/823084
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50091}
2017-12-13 20:06:06 +00:00
..
compiler [turbofan] Remove CheckedStore from TurboFan backend. 2017-12-12 17:26:03 +00:00
heap [heap] replace DisableInlineAllocationSteps with PauseAllocationObservers 2017-12-12 19:12:03 +00:00
interpreter [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
libplatform [cleanup] use unique_ptr for the DefaultPlatform 2017-11-14 09:57:18 +00:00
libsampler
parsing [parser] Remove use counter for U+2028 & U+2029 2017-12-11 20:32:39 +00:00
wasm [wasm] Allow to restart background tasks during streaming compilation 2017-12-13 19:51:36 +00:00
assembler-helper-arm.cc Revert "Revert "[cctest] Clarify that tests for sync instructions are simulator specific"" 2017-11-02 13:11:45 +00:00
assembler-helper-arm.h Revert "Revert "[cctest] Clarify that tests for sync instructions are simulator specific"" 2017-11-02 13:11:45 +00:00
BUILD.gn [heap] Increase test coverage for embedder tracing 2017-12-07 14:11:51 +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.gyp [heap] Increase test coverage for embedder tracing 2017-12-07 14:11:51 +00:00
cctest.h [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
cctest.isolate
cctest.status PPC/s390: Reland [turbofan] Implement on-stack returns (Intel) 2017-12-13 20:06:06 +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: Update OWNERS 2017-11-10 14:33:48 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h
profiler-extension.cc [cpu-profiler] Deprecate Isolate::GetCpuProfiler and CpuProfiler::CollectSample functions. 2017-11-21 00:56:56 +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 Fix receiver checks for v8::Function on a remote context receiver. 2017-02-22 10:13:24 +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] Introduce proper StoreGlobalIC dispatcher. 2017-12-13 16:23:54 +00:00
test-allocation.cc [Memory] Clean up base OS memory abstractions. 2017-11-03 18:49:55 +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 [api] Mark SetNamedPropertyHandler as soon to be deprecated 2017-12-04 11:06:50 +00:00
test-api.cc [heap] Provide the number of native and detached context via Heap API. 2017-12-11 18:14:31 +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 [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-assembler-arm.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-assembler-ia32.cc Implement haddps for ia32/x64 2017-12-11 21:43:53 +00:00
test-assembler-mips64.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-assembler-mips.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-assembler-ppc.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-assembler-s390.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-assembler-x64.cc Implement haddps for ia32/x64 2017-12-11 21:43:53 +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 [runtime] Cleanup Map fields and bit fields definitions. 2017-12-07 11:55:56 +00:00
test-code-stubs-arm64.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-code-stubs-arm.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-code-stubs-ia32.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-code-stubs-mips64.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-code-stubs-mips.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +00:00
test-code-stubs-x64.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +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] Split compilation timer on caching decision 2017-11-01 17:10:45 +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] Introduce NativeFrame type. 2017-12-13 00:05:45 +00:00
test-date.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-debug.cc Enable clang's -Wunreachable-code warning. 2017-12-04 13:09:25 +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] Enforce restriction on stlxr instructions 2017-11-29 13:19:28 +00:00
test-disasm-arm.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-disasm-ia32.cc Implement haddps for ia32/x64 2017-12-11 21:43:53 +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 Implement haddps for ia32/x64 2017-12-11 21:43:53 +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 Add isPromise V8 extras util 2017-04-06 13:16:35 +00:00
test-fast-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-feedback-vector.cc Add speculation mode to Call node 2017-12-08 14:51:10 +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 [parsing] Make FuncNameInferrer handle extends clauses properly 2017-12-11 18:39:52 +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 Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +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 [runtime] Stop using Map::unused_property_fields() byte. 2017-11-21 14:07:04 +00:00
test-intl.cc [intl] Implement Intl.NumberFormat.prototype.formatToParts 2017-06-30 20:14:18 +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 [log] Support first function execution logging with --log-function-events 2017-11-30 16:38:59 +00:00
test-macro-assembler-arm.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-macro-assembler-mips64.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-macro-assembler-mips.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-macro-assembler-x64.cc [test] Switch cctest to be W^X compliant as well. 2017-12-07 13:04:23 +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] Expose a module's status and exception. 2017-06-28 15:54:57 +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 Reland "Fix "this" value in lazily-parsed module functions." 2017-12-12 17:23:35 +00:00
test-platform.cc [Memory] Rewrite platform OS Commit / Uncommit in terms of permissions. 2017-11-21 16:48:55 +00:00
test-profile-generator.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +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 [wasm] Annotate some more {Code} mutation sites. 2017-11-07 11:51:50 +00:00
test-run-wasm-relocation-arm.cc [wasm] Annotate some more {Code} mutation sites. 2017-11-07 11:51:50 +00:00
test-run-wasm-relocation-ia32.cc [wasm] Annotate some more {Code} mutation sites. 2017-11-07 11:51:50 +00:00
test-run-wasm-relocation-x64.cc [wasm] Annotate some more {Code} mutation sites. 2017-11-07 11:51:50 +00:00
test-sampler-api.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-serialize.cc Reland "Add support to produce code cache after execute" 2017-12-01 14:02:47 +00:00
test-strings.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +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 Revert "Revert "[cctest] Clarify that tests for sync instructions are simulator specific"" 2017-11-02 13:11:45 +00:00
test-sync-primitives-arm.cc [simulator] De-dupe {CALL_GENERATED_CODE} macro definition. 2017-12-11 17:07:44 +00:00
test-thread-termination.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-threads.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-trace-event.cc [cleanup] Replace List with std::vector in cctests and d8. 2017-08-29 13:29:26 +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 Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +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 Remove always-on flag --harmony-strict-legacy-accessor-builtins 2017-11-17 04:06:30 +00:00
test-utils-arm64.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-utils-arm64.h Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-utils.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +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] Code cleanup in testcfg.py 2017-12-13 13:36:20 +00:00
trace-extension.cc
trace-extension.h
types-fuzz.h
unicode-helpers.h Implement DFA Unicode Decoder 2017-12-11 21:36:13 +00:00