v8/test/unittests
Jakob Gruber 002d5be898 [gasm] Implement parts of js call reducer using the graph assembler
An initial investigation of using GraphAssembler in JSCallReducer.

This CL ports two simple reductions (ReduceMathUnary,
ReduceMathBinary) as well as a slightly more involved reduction with
branching control flow (ReduceStringPrototypeSubstring). The graph
assembler abstracts away the details of maintaining effect and control
edges. Resulting code ends up looking very similar to CSA.

Newly introduced:
- Typing through TNode.
- IfBuilder1 for nicer if-then-else sequences that return exactly 1
  value. Future CLs will add more convenience builders that follow this
  pattern.
- Many small readability improvements through helper functions.

Bug: v8:9972
Change-Id: Iaa186b76c006e07c8d69a74f340a4912577a32a5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914204
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65095}
2019-11-21 13:00:44 +00:00
..
api Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
asmjs Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
assembler [arm64][cleanup] Remove CPURegister::Is and CPURegister::is 2019-11-14 12:58:09 +00:00
base [utils] Move {WhichPowerOf2} to base::bits 2019-11-08 09:45:50 +00:00
codegen [csa] move TNode to separate header 2019-09-12 14:48:03 +00:00
compiler [gasm] Implement parts of js call reducer using the graph assembler 2019-11-21 13:00:44 +00:00
compiler-dispatcher Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
diagnostics Move unittest files 2019-05-27 08:52:23 +00:00
execution [WeakRefs] Make cleanup callback run as a task 2019-07-30 12:19:39 +00:00
heap Revert "[heap] Reduce size of possibly empty buckets" 2019-11-18 09:56:54 +00:00
interpreter [cleanup] Remove sloppy-ness from SetAccumulator 2019-11-14 10:47:59 +00:00
libplatform Reland "Refactor platform tests to avoid deprecated API" 2019-10-21 14:03:21 +00:00
logging Reland "Unconditionally enable snapshot builds and remove 'v8_use_snapshot'" 2019-10-16 06:01:05 +00:00
numbers [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
objects [api] Deprecate [Shared]ArrayBuffer::Externalize/GetContents and constructors 2019-10-29 22:01:54 +00:00
parser Move remaining files in src/ 2019-05-24 18:24:36 +00:00
profiler [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
regress Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
strings Fix some issues caught by _LIBCPP_DEBUG=0 2019-11-21 12:17:03 +00:00
tasks Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
torque [torque] Generate more detailed errors when instantiating generics 2019-11-15 17:11:48 +00:00
utils [cleanup] Split out bit-field.h and bounds.h from utils/utils.h 2019-11-15 13:00:08 +00:00
wasm [codegen] Reduce kMinimalBufferSize and add kDefaultBufferSize 2019-11-14 15:05:31 +00:00
zone [zone] Remove segment pooling from accounting allocator 2019-03-01 09:25:48 +00:00
BUILD.gn [DevTools] Roll inspector_protocol (v8) (file split) 2019-11-12 10:27:01 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc Reland "Add test to show the crashing of TimeZone::AdoptDefault" 2019-05-16 09:38:43 +00:00
test-helpers.cc Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
test-helpers.h [Compiler] Remove CompilerDispatcherJob and use BackgroundCompileTask directly 2018-10-09 10:39:27 +00:00
test-utils.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-utils.h [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
unittests.status [ptr-compr] Added tagged equality cases to DecompressionOptimizer 2019-10-23 13:53:04 +00:00