v8/test/unittests
Clemens Hammacher 25d8a157b1 [wasm] Split adding code from publishing it
This prepares a refactoring to add and publish compilation results in
batches. For this, we need to separate the two phases, so that we can
lock the module, allocate all the code space, release the lock, copy
the code, lock the module, publish the code, and release the lock
again.
In particular, this CL does the following:
1) It removes the {AddOwnedCode} method. The functionality of creating
   the {WasmCode} and memcpy'ing the instruction into that is done in
   the other {Add*Code} methods. Adding to {owned_code_} is done in
   {PublishCode}.
2) {PublishInterpreterEntry} is now functionally equivalent to
   {PublishCode}, so it's removed.
3) After {AddCode}, the caller has to call {PublishCode}. In a
   follow-up CL, this will be called in batches (first {AddCode} them
   all, then {PublishCode} them all).
4) {AddCompiledCode} now assumes that the {WasmCompilationResult}
   succeeded. Otherwise, the caller should directly call {SetError} on
   the {CompilationState}.
5) {PublishCode} is now the chokepoint for installing code to the code
   table, the owned code vector, the jump table, and setting interpreter
   redirections. It replaces previous direct calls to {InstallCode} or
   explicitly adding to {owned_code_}.
6) Increasing the {generated_code_size_} counter is now done in
   {AllocateForCode}, which is the chokepoint for allocating space for
   generated code. This way, we will only increase this counter once
   once we allocate in batches.

R=titzer@chromium.org

Bug: v8:8916
Change-Id: I71e02e3a838f21797915cee3ebd373804fb12237
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530817
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60369}
2019-03-20 13:39:11 +00:00
..
api Make Isolate::GetIncumbentContext() work fine with ASAN 2018-11-21 05:40:08 +00:00
asmjs [ubsan] Fix errors related to AsmType 2019-01-07 13:07:26 +00:00
assembler PPC: removed AIX function descriptors in tests 2019-03-06 12:55:45 +00:00
base test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
compiler Reland "[regalloc] Introduce deferred fixed ranges" 2019-03-20 12:13:51 +00:00
compiler-dispatcher [tsan] Avoid modifying flags back and forth for each microtask queue test 2019-03-08 12:56:23 +00:00
heap [heap] Decouple the max semi-space size from the page size 2019-03-05 12:12:20 +00:00
interpreter [lite] Allocate FeedbackCell arrays for create closures in lite mode 2019-03-12 14:28:29 +00:00
libplatform [platform] Implement delayed tasks in the default worker runner 2019-03-19 11:28:30 +00:00
parser [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
regress [heap] Throw OOM when allocating FixedDoubleArrays with negative length 2019-03-06 10:55:42 +00:00
torque [torque-ls] Support "goto-definition" for Types in extends clause 2019-03-12 09:21:44 +00:00
wasm [wasm] Split adding code from publishing it 2019-03-20 13:39:11 +00:00
zone [zone] Remove segment pooling from accounting allocator 2019-03-01 09:25:48 +00:00
allocation-unittest.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
background-compile-task-unittest.cc [tsan] Avoid modifying flags back and forth for each microtask queue test 2019-03-08 12:56:23 +00:00
bigint-unittest.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
BUILD.gn [platform] Implement delayed tasks in the default worker runner 2019-03-19 11:28:30 +00:00
cancelable-tasks-unittest.cc [wasm] Reschedule compilation tasks 2019-01-17 18:27:08 +00:00
char-predicates-unittest.cc [cleanup] Make unicode predicate cache tables static 2018-11-14 15:33:45 +00:00
code-stub-assembler-unittest.cc [csa] re-schedule CSA graph 2018-11-13 17:12:01 +00:00
code-stub-assembler-unittest.h [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
conversions-unittest.cc [conversions] Speed up double to CString conversion 2018-12-19 12:10:50 +00:00
counters-unittest.cc [tsan] Move the xxx_stats status flags out of command line flags 2019-03-07 20:29:33 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
detachable-vector-unittest.cc Make DetachableVector accessible from builtins 2018-11-13 01:30:16 +00:00
eh-frame-iterator-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
eh-frame-writer-unittest.cc [cleanup] Fix kPointerSize in tests 2019-02-14 15:29:52 +00:00
locked-queue-unittest.cc Add lock-based unbounded queue 2015-11-18 10:54:13 +00:00
microtask-queue-unittest.cc [tsan] Avoid modifying flags back and forth for each microtask queue test 2019-03-08 12:56:23 +00:00
object-unittest.cc [cleanup] Introduce STRUCT_MAPS_LIST generated from STRUCT_LIST. 2018-09-21 16:10:34 +00:00
register-configuration-unittest.cc Use static RegisterName function instead of RegisterConfiguration 2018-11-21 10:24:13 +00:00
run-all-unittests.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
source-position-table-unittest.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
strings-storage-unittest.cc Extend hash seed to 64 bits 2018-07-16 11:19:42 +00:00
test-helpers.cc [parser] Rename PreParsedScopeData to PreparseData 2019-01-07 14:49:21 +00:00
test-helpers.h [Compiler] Remove CompilerDispatcherJob and use BackgroundCompileTask directly 2018-10-09 10:39:27 +00:00
test-utils.cc [test] Manually restore changed flags in SaveFlags 2019-03-20 09:16:03 +00:00
test-utils.h [test] Manually restore changed flags in SaveFlags 2019-03-20 09:16:03 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
unicode-unittest.cc Fix & reland "[utf8] Rewrite NewStringFromUtf8 using Utf8::ValueOfIncremental" 2019-02-06 13:11:11 +00:00
unittests.status [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
utils-unittest.cc test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
value-serializer-unittest.cc [value serializer] check for stack overflow for verify object count. 2018-12-17 10:21:18 +00:00