v8/test
Seth Brenith 15ea19dbca [torque] Stricter object field verification, part 2
This change removes the special case in the Torque compiler for types
that descend from JSObject: they will no longer get implicit
"| Undefined" appended to their types for verification purposes. It
removes any additional custom verification steps in objects-debug that
are made redundant by that change.

In order to do so safely, I categorized all cases where we were
implicitly adding "| Undefined" to the field type, as follows:

1. Classes that aren't using the generated verifier function (we should
   probably revisit these, but for now we at least know they're safe):
   - JSGlobalObject
   - JSFinalizationGroup
   - JSFinalizationGroupCleanupIterator

2. Classes where the existing verifier is already at least as strict as
   what we would get after removing the implicit "| Undefined":
   - JSDate
   - JSPromise
   - JSRegExp
   - JSRegExpStringIterator
   - WasmMemoryObject
   - JSWeakRef
   - JSStringIterator
   - WasmExceptionObject
   - JSListFormat (fixed in part 1)
   - JSPluralRules (fixed in part 1)
   - JSRelativeTimeFormat (fixed in part 1)
   - JSSegmenter (fixed in part 1)
   - JSArrayBufferView (fixed in part 1)
   - JSTypedArray (fixed in part 1)

3. Classes where, to the best of my knowledge based on code inspection,
   we already initialize the object correctly to pass the new stricter
   generated verifier:
   - JSFunction
   - JSArrayIterator
   - JSMessageObject
   - JSBoundFunction
   - JSAsyncFromSyncIterator
   - WasmModuleObject
   - JSAsyncFunctionObject

4. Classes that needed some adjustment to their initialization order to
   avoid exposing uninitialized state to the GC:
   - JSArray (only in Factory::NewJSArray; Runtime_NewArray and
              CodeStubAssembler::AllocateJSArray already behave fine)
   - WasmTableObject
   - JSDateTimeFormat
   - JSNumberFormat
   - JSCollator
   - JSV8BreakIterator
   - JSLocale
   - JSSegmentIterator
   - JSModuleNamespace

5. Classes that had incorrect type definitions in Torque:
   - WasmGlobalObject (category 4 after correction)

6. Classes that weren't fully initialized due to bugs:
   - JSGeneratorObject
   - JSAsyncGeneratorObject

Bug: v8:9311
Change-Id: I99ab303d3352423f50a3d0abb6eb0c9b463e7552
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1654980
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62228}
2019-06-17 18:34:21 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest [torque] Stricter object field verification, part 2 2019-06-17 18:34:21 +00:00
common [turbofan] JSHeapBroker logging respects --trace-turbo-filter 2019-06-12 11:02:38 +00:00
debugger Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
fuzzer Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
inspector [heapprofiler] QueryObjects: do not return objects retained by feedback information 2019-06-12 18:33:49 +00:00
intl [Intl] Fix RegExp [\W] with i flag 2019-06-12 06:18:08 +00:00
js-perf-test add micro-benchmark for proxy trap getPrototypeOf 2019-06-17 18:16:11 +00:00
memory Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
message [WeakRefs] Make unregister spec compliant 2019-06-13 08:48:16 +00:00
mjsunit [asm.js] Check that function table indices are intish. 2019-06-17 16:59:50 +00:00
mkgrokdump [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
mozilla Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
preparser Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
test262 Roll test262 2019-06-14 00:56:50 +00:00
torque Reland "[csa] Tweak CSA pipeline to eliminate more redundant checks" 2019-06-17 09:40:29 +00:00
unittests Handlify bytecode array accessor's constant getters. 2019-06-17 16:13:30 +00:00
wasm-api-tests [wasm-c-api] Fix signature deserialization 2019-06-14 09:03:47 +00:00
wasm-js Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
wasm-spec-tests [wasm] Update spec tests 2019-05-22 14:58:45 +00:00
webkit Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
BUILD.gn [wasm-c-api] Add tests and fixes 2019-05-28 09:57:04 +00:00
OWNERS [owners] Make test/ owned by COMMON_OWNERS 2019-06-06 20:56:09 +00:00