v8/test/unittests
Manos Koukoutos 55ddbaa054 [wasm][refactor] Rework immediate-argument abstractions
Motivation:
The immediate-argument classes defined in function-body-decoder.h were
often adding an offset to the provided pc. This was inconsistent,
bug-prone, and counterintuitive. This CL imposes that all immediates
are passed as pc the start of the immediate argument they are parsing.
Some other smaller inconsistencies are fixed as well.

Changes:

src/wasm/:
- Enforce that all Immediates are passed the pc at the start of the
  argument they are parsing. Adapt all call sites.
- Remove unneeded offset arguments from two SIMD related immediates.
- Add a pc argument to all Validate functions for immediates instead
  of using the Decoder's current pc.
- Remove the (unused) pc argument from all Complete functions for
  immediates.
- Introduce Validate() for BranchOnExceptionImmediate.
- In WasmDecoder::Decode(), make sure len is updated before breaking out
  of the loop in case of a Validate() failure.
- Change the default prefix_len of DecodeLoadMem/DecodeStoreMem to 1.

wasm-interpreter.cc:
- Change the default prefix_len of ExecuteLoad/Store to 1.
- Adapt offsets in calls to Immediates.
- Remove redundant opcode_length argument from ExecuteSimdOp, use len
  in its place.

function-body-decoder-unittest.cc
- Adapt offsets in calls to Immediates.
- Introduce and use EXPECT_OK, as is done in other tests.

Change-Id: I534606c0e238af309804d4a7c8cec75b1e49c6ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2267381
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68559}
2020-06-26 13:29:42 +00:00
..
api Reland "[builtins] Clean up the use of class_name / ES5 [[Class]]" 2020-04-24 11:46:43 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler [wasm][mips] Save FP & PC when calling C functions 2020-03-19 09:38:06 +00:00
base Fix CountPopulation non-builtin implementation 2020-05-14 14:24:13 +00:00
codegen [codegen] Move SourcePositionTableBuilder to Zone 2020-06-02 19:18:07 +00:00
compiler [nci] Add feedback vector as input to binary ops 2020-06-23 08:38:54 +00:00
compiler-dispatcher [nci] Add native_context_independent flags 2020-06-15 11:09:38 +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 [sandbox] Access microtask queue in NativeContext via bottlenecks 2020-05-05 09:11:14 +00:00
heap Move stack walking to shared directory 2020-06-22 10:40:56 +00:00
interpreter [interpreter] Delete StackCheck bytecode 2020-03-20 15:16:01 +00:00
libplatform [unittests] Convert to the new MOCK_METHOD macro. 2020-06-10 15:50:38 +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 [Respect] Rename lists 2020-06-22 15:15:31 +00:00
parser Move remaining files in src/ 2019-05-24 18:24:36 +00:00
profiler [cpu-profiler] Add support for refcounting to StringsStorage 2020-03-30 19:08:06 +00:00
regress Reland "[runtime] Improve handling of enumeration index on global dictionary" 2020-03-02 15:41:15 +00:00
strings Fix some issues caught by _LIBCPP_DEBUG=0 2019-11-21 12:17:03 +00:00
tasks [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
torque [torque] generate Cast<> macros from Torque-defined classes 2020-06-23 08:01:54 +00:00
utils [wasm] Add templatized methods for static bounds checks 2020-06-24 03:41:28 +00:00
wasm [wasm][refactor] Rework immediate-argument abstractions 2020-06-26 13:29:42 +00:00
zone [zone] Remove segment pooling from accounting allocator 2019-03-01 09:25:48 +00:00
BUILD.gn [wasm] Move interpreter to test directory 2020-06-23 08:48:14 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc [test] Configure GTest for thread-safe death tests. 2020-01-20 20:03:54 +00:00
test-helpers.cc [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
test-helpers.h [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
test-utils.cc [test] Create one Isolate per unit test (not test suite) 2020-04-14 11:36:25 +00:00
test-utils.h [test] Create one Isolate per unit test (not test suite) 2020-04-14 11:36:25 +00:00
testcfg.py [unittests] initialize the loop variable 2020-06-05 12:24:10 +00:00
unittests.status [test] Skip hanging death test on Win asan 2020-05-27 11:09:22 +00:00