v8/test/unittests
Simon Zünd 724d6586f9 [torque] Refactor compiler interface to not 'leak' contextuals
The Torque compiler makes heavy use of scoped globals (contextuals).
This created a problem for the design of the compiler interface:

    - Either the compiler provides all the necessary scopes itself,
      disallowing callers any access to the contextuals, which might
      contain data the caller is interested in (such as the
      compilation result).
    - Or the caller provides all the necessary scopes.

This design was fine when the compiler executable was the only user.
With the recent addition of unit tests and the language server, this
interface became brittle, as missing scopes are only detected at
runtime.

This CL refactors the compiler interface to not leak contextual
scopes past the interface boundary. Content of contextuals is
collected and returned, providing access for the caller and freedom
to either use the data directly or move it into the callers own scopes.

R=sigurds@chromium.org

Bug: v8:7793
Change-Id: Ieb988522d08fc6026b3fb74d976008e566146770
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1529000
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60867}
2019-04-16 12:19:30 +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 [Turbofan][ptr-compr] Add representation changes for and to Compressed* values 2019-04-03 09:45:53 +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][cleanup] Using 'using' instead of 'typedef' 2019-03-29 12:15:30 +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 [parser] Store function.length computed in the preparser 2019-04-11 11:17:03 +00:00
regress [heap] Throw OOM when allocating FixedDoubleArrays with negative length 2019-03-06 10:55:42 +00:00
torque [torque] Refactor compiler interface to not 'leak' contextuals 2019-04-16 12:19:30 +00:00
wasm Fix Wasm trap handler recursion on exceptions raised early 2019-04-15 20:14:47 +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 [write-barrier] Generalise write-barrier native counter. 2019-04-08 09:54:06 +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 Run correct MicrotaskQueue on MicrotasksScope instead of the default one 2019-04-11 09:35:12 +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 Reland "[snapshot] Add support for native counters." 2019-03-28 14:15:22 +00:00
test-utils.h Reland "[snapshot] Add support for native counters." 2019-03-28 14:15:22 +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