diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/wasm/wasm-module-builder.cc | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/wasm/wasm-module-builder.cc')
-rw-r--r-- | chromium/v8/src/wasm/wasm-module-builder.cc | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/chromium/v8/src/wasm/wasm-module-builder.cc b/chromium/v8/src/wasm/wasm-module-builder.cc index bcfc49dcbaa..8ea63ef4b8e 100644 --- a/chromium/v8/src/wasm/wasm-module-builder.cc +++ b/chromium/v8/src/wasm/wasm-module-builder.cc @@ -414,8 +414,11 @@ void WasmModuleBuilder::SetHasSharedMemory() { has_shared_memory_ = true; } namespace { void WriteValueType(ZoneBuffer* buffer, const ValueType& type) { buffer->write_u8(type.value_type_code()); - if (type.has_immediate()) { - buffer->write_u32v(type.ref_index()); + if (type.has_depth()) { + buffer->write_u32v(type.depth()); + } + if (type.encoding_needs_heap_type()) { + buffer->write_u32v(type.heap_type_code()); } } @@ -450,8 +453,9 @@ void WasmModuleBuilder::WriteTo(ZoneBuffer* buffer) const { StructType* struct_type = type.struct_type; buffer->write_u8(kWasmStructTypeCode); buffer->write_size(struct_type->field_count()); - for (auto field : struct_type->fields()) { - WriteValueType(buffer, field); + for (uint32_t i = 0; i < struct_type->field_count(); i++) { + WriteValueType(buffer, struct_type->field(i)); + buffer->write_u8(struct_type->mutability(i) ? 1 : 0); } break; } @@ -459,6 +463,7 @@ void WasmModuleBuilder::WriteTo(ZoneBuffer* buffer) const { ArrayType* array_type = type.array_type; buffer->write_u8(kWasmArrayTypeCode); WriteValueType(buffer, array_type->element_type()); + buffer->write_u8(array_type->mutability() ? 1 : 0); break; } } @@ -564,6 +569,7 @@ void WasmModuleBuilder::WriteTo(ZoneBuffer* buffer) const { break; case WasmInitExpr::kRefNullConst: buffer->write_u8(kExprRefNull); + WriteValueType(buffer, global.type); break; case WasmInitExpr::kRefFuncConst: UNIMPLEMENTED(); @@ -590,12 +596,15 @@ void WasmModuleBuilder::WriteTo(ZoneBuffer* buffer) const { buffer->write_f64(0.); break; case ValueType::kOptRef: - case ValueType::kFuncRef: - case ValueType::kExnRef: - case ValueType::kEqRef: buffer->write_u8(kExprRefNull); break; - default: + case ValueType::kI8: + case ValueType::kI16: + case ValueType::kStmt: + case ValueType::kS128: + case ValueType::kBottom: + case ValueType::kRef: + case ValueType::kRtt: UNREACHABLE(); } } |