v8/test/cctest/compiler
Benedikt Meurer 6346cdb649 [turbofan] Initial Word64 support in representation selection.
This adds support to TurboFan's representation selection for the Word64
representation, and makes use of that to handle indices for memory access
and allocation instructions (i.e. LoadElement, StoreElement, Allocate,
etc.). These instructions had previously used Word32 as representation
for the indices / sizes, and then internally converted it to the correct
representation (aka Word64 on 64-bit architectures) later on, but that
was kind of brittle, and sometimes led to weird generated code.

The change thus only adds support to convert integer values in the safe
integer range from all kinds of representations to Word64 (on 64-bit
architectures). We don't yet handle the opposite direction and none of
the representation selection heuristics for the numeric operations were
changed so far. This will be done in follow-up CLs.

This CL itself is supposed to be neutral wrt. functionality, and only
serves as a starting point, and a cleanup for the (weird) implicit
Word64 index/size handling.

Bug: v8:7881, v8:8015, v8:8171
Design-Document: http://bit.ly/turbofan-word64
Change-Id: I3c6961a0e96cbc3fb8ac9d3e1be8f2e5c89bfd25
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel
Reviewed-on: https://chromium-review.googlesource.com/1224932
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55886}
2018-09-14 08:15:02 +00:00
..
c-signature.h [test] Fix usages of std::array initializer lists. 2018-01-16 17:14:29 +00:00
call-tester.h [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
code-assembler-tester.h [cctest] Improve test coverage for calls to embedded builtins 2018-08-02 12:38:46 +00:00
codegen-tester.cc Enable clang's -Wunreachable-code warning. 2017-12-04 13:09:25 +00:00
codegen-tester.h [turbofan] Thread through AssemblerOptions 2018-07-06 09:42:00 +00:00
function-tester.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
function-tester.h [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
graph-builder-tester.h [turbofan] Thread through AssemblerOptions 2018-07-06 09:42:00 +00:00
test-basic-block-profiler.cc [wasm] Share BasicBlockProfiler instance in process 2018-07-26 13:54:57 +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 [explicit isolates] Remove all GetIsolates from objects-inl.h 2018-07-13 12:15:44 +00:00
test-code-generator.cc Fix two issues in FuzzAssembleSwap test 2018-09-07 11:08:47 +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 Reland "Introduce StdoutStream which prints to Android log or stdout" 2018-06-14 13:29:01 +00:00
test-instruction-scheduler.cc Replace array index masking with the poisoning approach. 2018-04-30 13:22:44 +00:00
test-instruction.cc [turbofan] Change handling of empty basic blocks 2018-06-12 15:10:26 +00:00
test-js-constant-cache.cc [cleanup] Remove unused Isolate parameters 2018-07-18 16:47:22 +00:00
test-js-context-specialization.cc [turbofan] Disable broker in JSContextSpecialization test. 2018-07-31 18:34:35 +00:00
test-js-typed-lowering.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
test-jump-threading.cc [turbofan] Make {JumpThreading} independent of Isolate. 2018-07-12 12:00:47 +00:00
test-linkage.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-loop-analysis.cc Reland "Introduce StdoutStream which prints to Android log or stdout" 2018-06-14 13:29:01 +00:00
test-machine-operator-reducer.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-multiple-return.cc [wasm] Add WasmFeatures to enable/detect features 2018-08-09 10:58:22 +00:00
test-node.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
test-operator.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-representation-change.cc [turbofan] Initial Word64 support in representation selection. 2018-09-14 08:15:02 +00:00
test-run-bytecode-graph-builder.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-run-calls-to-external-references.cc Reland: [refactoring] Remove the isolate from signatures of ExternalReferences 2018-04-25 09:47:30 +00:00
test-run-deopt.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-intrinsics.cc [Compiler] Split up Unoptimized/Optimized CompilationInfo and CompilationJobs 2018-04-04 21:09:01 +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 [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-run-jsexceptions.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-jsobjects.cc [explicit isolates] Remove various GetIsolates 2018-07-17 11:56:37 +00:00
test-run-jsops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-run-load-store.cc [iwyu] Fix some cctest IWYU violations. 2018-06-27 15:25:57 +00:00
test-run-machops.cc [turbofan] Initial Word64 support in representation selection. 2018-09-14 08:15:02 +00:00
test-run-native-calls.cc [cleanup] Remove TODO now that wasm-linkage is fixed 2018-09-06 17:24:00 +00:00
test-run-retpoline.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
test-run-stackcheck.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-run-stubs.cc Reland: [iwyu] Remove sfi-inl.h -> wasm include 2018-07-25 14:54:37 +00:00
test-run-tail-calls.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +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 [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
value-helper.cc Reland "[test] Avoid unnecessary std::vector allocations" 2017-10-19 08:47:31 +00:00
value-helper.h [test] Also print hex representation of floats/doubles 2018-09-11 16:05:33 +00:00