v8/test
Seth Brenith 91e6421ccb [torque] Use generated instance types, part 1
This change begins making use of the fact that Torque now knows about
the relationship between classes and instance types, to replace a few
repetitive lists:

- Instance type checkers (single and range), defined in
  src/objects/instance-type.h
- Verification dispatch in src/diagnostics/objects-debug.cc
- Printer dispatch in src/diagnostics/objects-printer.cc
- Postmortem object type detection in
  tools/debug_helper/get-object-properties.cc

Torque is updated to generate four macro lists for the instance types,
representing all of the classes separated in two dimensions: classes
that correspond to a single instance type versus those that have a
range, and classes that are fully defined in Torque (with fields and
methods inside '{}') versus those that are only declared. The latter
distinction is useful because fully-defined classes are guaranteed to
correspond to real C++ classes, whereas only-declared classes are not.

A few other changes were required to make the lists above work:

- Renamed IsFiller to IsFreeSpaceOrFiller to better reflect what it does
  and avoid conflicts with the new macro-generated IsFiller method. This
  is the part I'm most worried about: I think the new name is an
  improvement for clarity and consistency, but I could imagine someone
  typing IsFiller out of habit and introducing a bug. If we'd prefer to
  keep the name IsFiller, my other idea is to rename FreeSpace to
  VariableSizeFiller and Filler to FixedSizeFiller.
- Made Tuple3 extend from Struct, not Tuple2, because IsTuple2 is
  expected to check for only TUPLE2_TYPE and not include TUPLE3_TYPE.
- Normalized the dispatched behavior for BigIntBase and HeapNumber.
- Added a few new object printers.

Bug: v8:7793
Change-Id: I5462bb105f8a314baa59bd6ab6ab6215df6f313c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860314
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64597}
2019-10-28 18:30:31 +00:00
..
benchmarks Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
cctest [torque] Use generated instance types, part 1 2019-10-28 18:30:31 +00:00
common [wasm] Rename {Get,Set}Global to Global{Get,Set} 2019-10-08 14:27:50 +00:00
debugger Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
fuzzer Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
inspector Reland "[wasm][debug] Report global scope also for compiled frames" 2019-10-25 08:56:57 +00:00
intl Update test/intl OWNERS 2019-10-22 17:29:36 +00:00
js-perf-test [js-perf-tests] Adds performance tests for BigInt subtraction 2019-10-22 13:32:09 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message [regexp] Improve String.prototype.matchAll error message 2019-10-24 01:54:58 +00:00
mjsunit [parser] Add early return for declaration error in arrow head 2019-10-28 14:09:11 +00:00
mkgrokdump Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
mozilla Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
preparser Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
test262 Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
torque [torque] fix formatting of union types 2019-10-24 10:05:25 +00:00
unittests [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
wasm-api-tests Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
wasm-js [wasm] Stage multi-value support 2019-10-22 13:49:52 +00:00
wasm-spec-tests [wasm] Stage multi-value support 2019-10-22 13:49:52 +00:00
webkit Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
BUILD.gn [wasm-c-api] Add tests and fixes 2019-05-28 09:57:04 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00