v8/test/unittests/interpreter
Leszek Swirski 7a20b6b9d3 [offthread] Add an OffThreadIsolate
The Factory/OffThreadFactory allows us to cleanly separate object
construction behaviour between main-thread and off-thread in a
syntactically consistent way (so that methods templated on the factory
type can be made to work on both).

However, there are cases where we also have to access the Isolate, for
handle creation or exception throwing. So far we have been pushing more
and more "customization points" into the factories to allow these
factory-templated methods to dispatch on this isolate behaviour via
these factory methods. Unfortunately, this is an increasing layering
violation between Factory and Isolate, particularly around exception
handling.

Now, we introduce an OffThreadIsolate, analogous to Isolate in the same
way as OffThreadFactory is analogous to Factory. All methods which were
templated on Factory are now templated on Isolate, and methods which
used to take an Isolate, and which were recently changed to take a
templated Factory, are changed/reverted to take a templated Isolate.
OffThreadFactory gets an isolate() method to match Factory's.

Notably, FactoryHandle is changed to "HandleFor", where the template
argument can be either of the Isolate type or the Factory type (allowing
us to dispatch on both depending on what is available).

Bug: chromium:1011762
Change-Id: Id144176f7da534dd76f3d535ab2ade008b6845e3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030909
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66101}
2020-02-04 11:37:47 +00:00
..
bytecode-array-builder-unittest.cc [offthread] Add an OffThreadIsolate 2020-02-04 11:37:47 +00:00
bytecode-array-iterator-unittest.cc [offthread] Add an OffThreadIsolate 2020-02-04 11:37:47 +00:00
bytecode-array-random-iterator-unittest.cc [offthread] Add an OffThreadIsolate 2020-02-04 11:37:47 +00:00
bytecode-array-writer-unittest.cc [compiler] Skip creating unneeded objects for lazy source positions 2019-08-23 12:47:20 +00:00
bytecode-decoder-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-node-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-operands-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-register-allocator-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-register-optimizer-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-source-info-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-utils.h Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
bytecodes-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
constant-array-builder-unittest.cc [offthread] Add an OffThreadIsolate 2020-02-04 11:37:47 +00:00
interpreter-assembler-unittest.cc [cleanup] Remove sloppy-ness from SetAccumulator 2019-11-14 10:47:59 +00:00
interpreter-assembler-unittest.h Reland "[csa] Tweak CSA pipeline to eliminate more redundant checks" 2019-06-17 09:40:29 +00:00