v8/test
Tobias Tebbi 45227ffdb4 [turbofan] extend type asserts to cover all JS types
Extend type assertions to all types covering JavaScript values.
This is achieved by allocating type representations on the heap using
newly defined HeapObject subclasses. To allocate these in the compiler,
we disable concurrent compilation for the --assert-types flag for now.

Fix two type errors that came up with the existing tests:
1. JSCreateKeyValueArray has type Array (i.e., a JSArray) instead of
   OtherObject.
2. OperationTyper::NumberToString(Type) can type the result as the
   HeapConstant Factory::zero_string(). However, NumberToString does
   not always produce this string. To avoid regressions, the CL keeps
   the HeapConstant type and changes the runtime and builtin code to
   always produce the canonical "0" string.

A few tests were failing because they check for truncations to work
and prevent deoptimization. However, AssertType nodes destroy all
truncations (which is by design), so these tests are incompatible
and now disabled for the assert_types variant.

Drive-by fix: a few minor Torque issues that came up.

Change-Id: If03b7851f7e6803a2f69edead4fa91231998f764
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234717
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77565}
2021-10-27 08:37:31 +00:00
..
benchmarks [test] Mark pdfjs as slow for TSAN builds 2021-07-28 14:03:46 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest [turbofan] extend type asserts to cover all JS types 2021-10-27 08:37:31 +00:00
common [wasm-relaxed-simd][x64] Prototype relaxed min and max 2021-10-21 00:58:24 +00:00
debugger Ship findLast and findLastIndex 2021-10-11 23:02:45 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [fuzzer] Add support for immutable arrays 2021-10-26 10:25:30 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [heap-snapshot] Declaring progress counter as uint32_t (instead of int) 2021-10-26 13:26:21 +00:00
intl Roll ICU and correct timezone test 2021-10-21 18:39:31 +00:00
js-perf-test BigInt.asIntN benchmark 2021-10-12 12:14:39 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Skip {map,set}-grow-failed tests on TSAN 2021-09-27 20:32:29 +00:00
mjsunit [turbofan] extend type asserts to cover all JS types 2021-10-27 08:37:31 +00:00
mkgrokdump [sandbox] Disallow ArrayBuffers outside the VM Cage 2021-08-25 09:52:38 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [test262] Roll test262 2021-10-21 16:41:33 +00:00
torque [torque] Make return types required 2021-09-30 15:54:17 +00:00
unittests cppgc: Move interesting checks behind DEBUG 2021-10-26 07:37:11 +00:00
wasm-api-tests [wasm][test] Cleanup macros 2021-09-24 16:47:54 +00:00
wasm-js [wasm] Update spec tests 2021-10-12 12:39:37 +00:00
wasm-spec-tests [wasm] Update spec tests 2021-10-12 12:39:37 +00:00
webkit [tests] Increase stack-size limit to make tests pass in debug mode 2021-10-26 07:05:19 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00