v8/test
Daniel Clark 8ae4dc4088 [modules][api] Implement HostGetSupportedImportAssertions
Implement the HostGetSupportedImportAssertions, whose purpose
is to filter the list of import assertions exposed to the embedder to
only those assertion with keys that the embedder recognizes. See
https://tc39.es/proposal-import-assertions/#sec-hostgetsupportedimportassertions.

This change doesn't actually implement it as a callback, but instead
passes the supported assertions during creation of the Isolate via
CreateParams. This expresses clearly the requirement that the supported
assertions must never change for the lifetime of the Isolate.

Note that we still need to maintain all assertions in a map
while parsing the import assertions clause, because duplicate keys for
an unsupported assertion still needs to be detected as a parse error. So,
the filtering is done later during
SourceTextModuleDescriptor::AstModuleRequest::Serialize.

The actual filtering algorithm simply iterates the assertions and the
supported assertion keys in a nested loop. There's currently only one
assertion in use ("type"), so there should be no reason to get too
clever here unless at least several more assertions are generally
supported.

Bug: v8:10958
Change-Id: I9a2d965e9d452718d0ddfe9dca55b7b4ed963019
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2572173
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Dan Clark <daniec@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#71776}
2020-12-16 03:48:45 +00:00
..
benchmarks [tools] Mark raytrace as slow everywhere 2020-12-03 17:05:14 +00:00
cctest [modules][api] Implement HostGetSupportedImportAssertions 2020-12-16 03:48:45 +00:00
common [wasm][eh] Add delegate instruction to the EH prototype 2020-12-15 14:34:44 +00:00
debugger [debug] Mark side-effect free builtins and intrinsics as such. 2020-11-30 16:10:44 +00:00
debugging [wasm] [debugging] Fix --wasm-gdb-remote 2020-12-08 19:37:25 +00:00
fuzzer [wasm-gc] read_heap_type should check if index is in module bounds 2020-12-02 16:52:51 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [wasm][profiler] Report source URL and position 2020-12-10 13:20:08 +00:00
intl Cherrypick Locale canonicalization fix 2020-12-10 19:05:08 +00:00
js-perf-test [super] Rewrite perf tests 2020-11-16 08:36:24 +00:00
memory Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
message [wasm][eh] Revert to catch with tag immediate 2020-12-03 18:55:31 +00:00
mjsunit [turbofan] Update Node type in JSTypedLowering::ReduceJSToNumeric 2020-12-15 17:25:34 +00:00
mkgrokdump Replace libc functions with base wrappers 2020-11-17 08:50:41 +00:00
mozilla [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
test262 Roll test262 2020-12-15 01:37:24 +00:00
torque [torque] introduce const slices 2020-11-30 11:28:15 +00:00
unittests [wasm][eh] Add delegate instruction to the EH prototype 2020-12-15 14:34:44 +00:00
wasm-api-tests wasm/c-api: fix the index of StackTraceFrame 2020-10-13 07:34:26 +00:00
wasm-js [wasm] Update spec tests 2020-12-10 15:55:58 +00:00
wasm-spec-tests [wasm] Update spec tests 2020-12-10 15:55:58 +00:00
webkit Disallow \8 and \9 in strict mode and template literals 2020-08-03 18:05:14 +00:00
BUILD.gn [turbofan] Make OSR and stack slots compatible 2020-10-05 17:41:02 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00