[wasm] Element segments header flag is a u32v

See
https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md#element-segments.

Together with the changes in https://crbug.com/v8/10810, we can get
these tests pasing now.

Bug: v8:10810
Change-Id: Ib445e9c57f7f7e5e63c9a3b3c192323062204aa1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477493
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70582}
This commit is contained in:
Ng Zhi An 2020-10-15 13:54:31 -07:00 committed by Commit Bot
parent 2bc0b357b5
commit 104cf106ef
2 changed files with 2 additions and 5 deletions

View File

@ -1965,10 +1965,10 @@ class ModuleDecoderImpl : public Decoder {
ValueType* type, uint32_t* table_index,
WasmInitExpr* offset) {
const byte* pos = pc();
uint8_t flag;
uint32_t flag;
if (enabled_features_.has_bulk_memory() ||
enabled_features_.has_reftypes()) {
flag = consume_u8("flag");
flag = consume_u32v("flag");
} else {
uint32_t table_index = consume_u32v("table index");
// The only valid flag value without bulk_memory or externref is '0'.

View File

@ -7,9 +7,7 @@
'skip-stack-guard-page': [PASS, ['((arch == ppc or arch == ppc64 or arch == s390 or arch == s390x) and simulator_run)', SKIP]],
# TODO(wasm) Investigate failing spec tests after update.
'binary': [FAIL],
'proposals/js-types/binary-leb128': [FAIL],
'proposals/bulk-memory-operations/binary': [FAIL],
'proposals/bulk-memory-operations/binary-leb128': [FAIL],
# TODO(v8:10994): Failing spec test after update.
'proposals/reference-types/br_table': [FAIL],
@ -17,7 +15,6 @@
# the bulk-memory proposal. Since we've enabled bulk-memory by default, we
# need to update to use its testsuite.
'linking': [FAIL],
'binary-leb128': [FAIL],
'elem': [FAIL],
'data': [FAIL],