v8/test/unittests
Manos Koukoutos fe531e1feb [wasm-gc] Implement iso-recursive types
This CL replaces the equirecursive type system for wasm-gc with the
isorecursive hybrid type system presented here:
https://github.com/WebAssembly/gc/issues/257.

In broad strokes, this includes the following changes:
- In the module decoder, remove equirecursive types. Implement recursive
  type groups, subtype definitions, and function/struct/array
  definitions. Treat nominal modules as syntactic sugar of an
  isorecursive module, where all types belong in the same recursive
  group.
- Remove rtt.sub and all related infrastructure.
- Change subtyping to work with explicit supertypes only.
- Add ValidSubtypeDefinition in subtyping, to check that subtype
  declarations are valid during decoding.
- Remove the subtyping cache.
- Add support for functions to have specific signature index in
  WasmModuleBuilder and in test-gc.cc.
- Adapt tests.

Current restrictions:
- Recursive groups are not stored beyond decoding.
- Type canonicalization is not implemented. No tests relying on types
  being considered identical post-canonicalization.
- No cross-module subtyping is possible. Tests relying on cross-module
  subtyping have been commented out.

Bug: v8:7748
Change-Id: I69fd04ecc5611f6230c95d5c89d1c520163fffae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416239
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78816}
2022-01-27 17:16:37 +00:00
..
api Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler ppc: Don't emit cnttzd, cnttzw if Power proc. version is less than 9 2021-11-10 15:41:24 +00:00
base [base] Add VirtualAddressSpace unittests 2022-01-18 12:50:12 +00:00
codegen [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
compiler Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
compiler-dispatcher [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
debug [inspector] Speed up DebugPropertyIterator. 2021-09-13 12:52:11 +00:00
diagnostics [gdbjit] Fix overlapping AddressRegion check 2021-08-19 17:29:57 +00:00
execution Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
heap api: Remove deprecated write barrier API 2022-01-21 11:36:48 +00:00
interpreter Reland "[class] implement reparsing of class instance member initializers" 2022-01-24 16:24:35 +00:00
libplatform [Jobs API]: Cleanup migration of missing Jobs pieces. 2020-09-02 20:51:29 +00:00
logging Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
numbers [fastcall] Support JSArray as arguments 2021-06-23 14:01:40 +00:00
objects [rab/gsab] Re-enable serializing flags with ValueSerializer 2022-01-19 12:45:39 +00:00
parser [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
profiler [cpu-profiler] Add method to estimate mem size of ProfilerCodeObserver 2021-08-23 19:07:15 +00:00
regexp [regexp] Hide the generic JSRegExp::DataAt/SetDataAt accessors 2021-09-29 11:37:41 +00:00
regress [heap] Remove Factory::NewUninitializedFixedArray 2021-04-26 13:52:38 +00:00
runtime Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
sandbox V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
strings [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
tasks [local-isolate] Move worker RCS scope into LocalIsolate 2021-12-10 11:08:01 +00:00
torque Reland "[Torque] Generalize Torque literals to larger size" 2022-01-27 13:39:16 +00:00
utils [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm [wasm-gc] Implement iso-recursive types 2022-01-27 17:16:37 +00:00
zone [zone] Final cleanup of zone allocations 2020-07-16 17:47:46 +00:00
avoid-windows-h-includes.cc Test that heap-inl.h doesn't include windows.h 2021-10-14 21:18:51 +00:00
BUILD.gn [rab/gsab] Re-enable serializing flags with ValueSerializer 2022-01-19 12:45:39 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
test-helpers.cc [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
test-helpers.h [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
test-utils.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-utils.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
testcfg.py [unittests] initialize the loop variable 2020-06-05 12:24:10 +00:00
unittests.status PPC: skip some cppgc tests as PPC page size is too large 2021-07-12 20:24:14 +00:00