v8/test/unittests
Clemens Hammacher fd306a0658 Allow constexpr RegList construction from Registers
Before, the standard way to create a RegList was either:
RegList list = (1 << 0) | (1 << 1) | ...
or
RegList list = rax.bit() | rdx.bit() | ...

The first way allows to make the RegList constexpr, but needs comments
to document which registers you are referring to, and it has no checks
that all bits you set on the RegList actually belong to valid registers.
The second one uses the symbolic names, hence is much more readable and
makes it harder to construct invalid RegLists. It's not constexpr
though, since the {bit()} method on the register types is not constexpr.

This CL adds a constexpr accessor to get the code and bit of a
constexpr Register, and adds a helper method to create a constexpr
RegList like this:
constexpr RegList list = Register::ListOf<rax, rdx, rdi>();

This new method is used in a number of places to test its
applicability. Other uses of the old pattern remain and can be cleaned
up later.

R=tebbi@chromium.org

Change-Id: Ie7b1d6342dc5f316dcfedd0363b3540ad5e7f413
Reviewed-on: https://chromium-review.googlesource.com/728026
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48887}
2017-10-24 17:30:11 +00:00
..
api [jumbo] add unittests jumbo support 2017-09-28 22:19:40 +00:00
asmjs [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
base Allow constexpr RegList construction from Registers 2017-10-24 17:30:11 +00:00
compiler [turbofan] Introduce InstanceOfIC to collect rhs feedback. 2017-10-23 10:15:36 +00:00
compiler-dispatcher [compiler] Remove isolate from CompilationJob. 2017-10-23 11:22:31 +00:00
heap Revert "[Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal." 2017-10-18 18:48:27 +00:00
interpreter [ast] Encapsulate AstValue inside Literal AstNode 2017-10-24 14:57:19 +00:00
libplatform [jumbo] add unittests jumbo support 2017-09-28 22:19:40 +00:00
parser [bigint] Support parsing of BigInt literals 2017-10-13 19:04:02 +00:00
wasm [wasm] Support block parameters 2017-10-24 11:44:26 +00:00
zone [heap] Simplify and linearly scale ResourceConstraints::ConfigureDefaults. 2017-05-23 17:00:57 +00:00
bigint-unittest.cc [bigint] Fix StringToBigInt("") to return 0n. 2017-10-20 17:00:41 +00:00
BUILD.gn [bigint] Implement comparisons with Numbers/Strings 2017-10-19 07:25:38 +00:00
cancelable-tasks-unittest.cc Make CancelableTask ids unique 2017-08-02 16:10:42 +00:00
char-predicates-unittest.cc Use ICU for ID_START, ID_CONTINUE and WhiteSpace check 2017-06-14 20:32:49 +00:00
code-stub-assembler-unittest.cc Remove ComputeFlags, simply pass in Code::Kind instead of Code::Flags 2017-09-29 15:37:27 +00:00
code-stub-assembler-unittest.h [csa] Add constant folding more universally to CodeAssembler operators 2017-09-12 10:03:10 +00:00
counters-unittest.cc Localize counter class member functions. 2017-06-08 16:18:32 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
detachable-vector-unittest.cc [cleanup] Replace List with std::vector in api. 2017-09-28 09:32:18 +00:00
eh-frame-iterator-unittest.cc [turbofan] Avoid disallowed "using namespace" directive. 2017-08-31 11:52:15 +00:00
eh-frame-writer-unittest.cc [turbofan] Avoid disallowed "using namespace" directive. 2017-08-31 11:52:15 +00:00
locked-queue-unittest.cc Add lock-based unbounded queue 2015-11-18 10:54:13 +00:00
object-unittest.cc [runtime] Devirtualize CompilationCacheKey::HashForObject 2017-06-12 17:00:52 +00:00
register-configuration-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
run-all-unittests.cc Make idle tasks optional in the default platform. 2017-03-07 13:37:41 +00:00
source-position-table-unittest.cc [runtime] Allocate source position table before Code. 2017-10-20 10:58:52 +00:00
test-helpers.cc Reland "[builtins] Remove Builtins::Name() accessors" 2017-08-01 10:39:10 +00:00
test-helpers.h [Parsing] Remove parse-task support. 2017-08-18 21:09:30 +00:00
test-utils.cc [cleanup] Replace List with std::vector in IC, Handle code. 2017-08-30 07:35:00 +00:00
test-utils.h [cleanup] Replace List with std::vector in IC, Handle code. 2017-08-30 07:35:00 +00:00
unicode-unittest.cc [unicode] Add tests for UTF-8 decoders + minor cleanups. 2017-09-29 13:18:52 +00:00
unittests.gyp [bigint] Implement comparisons with Numbers/Strings 2017-10-19 07:25:38 +00:00
unittests.isolate Reland [swarming] Isolate v8 testing. 2015-10-05 09:48:42 +00:00
unittests.status Remove x87 port 2017-07-18 18:20:40 +00:00
value-serializer-unittest.cc Fix WebAssembly.Memory deserialization in more complex objects 2017-10-20 01:18:13 +00:00