diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /third_party/rust/wasm-encoder/src/core/globals.rs | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/wasm-encoder/src/core/globals.rs')
-rw-r--r-- | third_party/rust/wasm-encoder/src/core/globals.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/third_party/rust/wasm-encoder/src/core/globals.rs b/third_party/rust/wasm-encoder/src/core/globals.rs index 64fec982cd..291ca80472 100644 --- a/third_party/rust/wasm-encoder/src/core/globals.rs +++ b/third_party/rust/wasm-encoder/src/core/globals.rs @@ -14,6 +14,7 @@ use crate::{encode_section, ConstExpr, Encode, Section, SectionId, ValType}; /// GlobalType { /// val_type: ValType::I32, /// mutable: false, +/// shared: false, /// }, /// &ConstExpr::i32_const(42), /// ); @@ -80,12 +81,21 @@ pub struct GlobalType { pub val_type: ValType, /// Whether this global is mutable or not. pub mutable: bool, + /// Whether this global is shared or not. + pub shared: bool, } impl Encode for GlobalType { fn encode(&self, sink: &mut Vec<u8>) { self.val_type.encode(sink); - sink.push(self.mutable as u8); + let mut flag = 0; + if self.mutable { + flag |= 0b01; + } + if self.shared { + flag |= 0b10; + } + sink.push(flag); } } @@ -96,6 +106,7 @@ impl TryFrom<wasmparser::GlobalType> for GlobalType { Ok(GlobalType { val_type: global_ty.content_type.try_into()?, mutable: global_ty.mutable, + shared: global_ty.shared, }) } } |