v8/test/cctest/compiler
Pierre Langlois dabd1c0af8 [cctest] Record execution of parallel moves.
This patch is a first step towards target independent tests for the
CodeGenerator's AssembleMove and AssembleSwap methods.

The tests on top of which this builds would only make sure that no assertions
were triggered while generating moves, and that the hardware is happy executing
them. We want to do more and check that the generated code performs correctly.

In a nutshell, this introduces a facility that can do the following:

  - Setup an environment with registers and stack slots initialised with random
    values.
  - Perform a list of randomly generated moves and/or swaps on those.
  - Return the resulting environment.

This is a first step and therefore is lacking a few things which will be
implemented as follow-ups:

  - Support for kSimd128 moves and swaps.
  - Support large offsets for stack moves, as well as positive and negative.
  - Compare the resulting environment against the result of a reference
    simulation.

For more background information, see this design document:
https://docs.google.com/document/d/1KpioxCmtiB_9RaPaRidZPVtKlZ2BaNKGPYUjKFihhK0

Bug: v8:6848
Change-Id: Ie7dc837f4444df010ab58c64b722d40ee5d2af72
Reviewed-on: https://chromium-review.googlesource.com/677398
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#48459}
2017-10-11 14:18:49 +00:00
..
c-signature.h [wasm] Replace the BufferedRawMachineAssemblerTester in the WasmRunner. 2016-02-18 09:55:49 +00:00
call-tester.h [cleanup] Remove return after UNREACHABLE 2017-05-22 13:10:01 +00:00
code-assembler-tester.h [cctest] Record execution of parallel moves. 2017-10-11 14:18:49 +00:00
codegen-tester.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
codegen-tester.h Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
function-tester.cc [compiler] Remove script() from CompilationInfo 2017-09-29 09:33:59 +00:00
function-tester.h [cleanup] Add templatized FunctionTester::CallChecked(...) helpers 2017-07-18 14:25:21 +00:00
graph-builder-tester.h Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
test-basic-block-profiler.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-branch-combine.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-code-assembler.cc [csa] fix variable merge for switch default label 2017-09-26 12:31:29 +00:00
test-code-generator.cc [cctest] Record execution of parallel moves. 2017-10-11 14:18:49 +00:00
test-gap-resolver.cc Add bound checking to RegisterConfiguration accessors function. 2017-08-18 09:24:31 +00:00
test-graph-visualizer.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-instruction.cc [cleanup] [compiler] Fix (D)CHECK macros 2017-09-25 10:21:34 +00:00
test-js-constant-cache.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-js-context-specialization.cc [compiler][modules] Constant-fold loads of module cells. 2017-05-04 11:09:19 +00:00
test-js-typed-lowering.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-jump-threading.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-linkage.cc Use MaybeHandle for values that could be empty 2017-10-05 13:16:55 +00:00
test-loop-analysis.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
test-machine-operator-reducer.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-multiple-return.cc Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
test-node.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-operator.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-representation-change.cc [turbofan] Propagate minus-zero truncation in representation inference. 2017-03-08 06:11:37 +00:00
test-run-bytecode-graph-builder.cc [compiler] Remove script() from CompilationInfo 2017-09-29 09:33:59 +00:00
test-run-calls-to-external-references.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-run-deopt.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-intrinsics.cc [cleanup] Drop obsolete %StringCharCodeAt intrinsic. 2017-09-08 15:45:44 +00:00
test-run-jsbranches.cc [turbofan] Remove for-in support from the AstGraphBuilder. 2017-02-08 06:41:42 +00:00
test-run-jscalls.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-run-jsexceptions.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-jsobjects.cc [iwyu] Remove stale TODOs about objects-inl.h inclusion. 2017-10-09 11:14:59 +00:00
test-run-jsops.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-load-store.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-run-machops.cc [wasm] Introduce the WasmContext 2017-09-28 16:14:03 +00:00
test-run-native-calls.cc Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
test-run-stackcheck.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-stubs.cc Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
test-run-unwinding-info.cc [turbofan] Replace uninitialized JSCall nodes with SOFT deopt. 2017-06-27 03:57:13 +00:00
test-run-variables.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-wasm-machops.cc [wasm] Introduce the WasmContext 2017-09-28 16:14:03 +00:00
value-helper.h [wasm] Remove 'using namespace' from cctest/wasm 2017-09-01 13:49:24 +00:00