diff options
Diffstat (limited to 'third_party/rust/wast/src/core/resolve')
-rw-r--r-- | third_party/rust/wast/src/core/resolve/deinline_import_export.rs | 6 | ||||
-rw-r--r-- | third_party/rust/wast/src/core/resolve/names.rs | 28 | ||||
-rw-r--r-- | third_party/rust/wast/src/core/resolve/types.rs | 4 |
3 files changed, 8 insertions, 30 deletions
diff --git a/third_party/rust/wast/src/core/resolve/deinline_import_export.rs b/third_party/rust/wast/src/core/resolve/deinline_import_export.rs index 98e680b58a..f2d12e9a52 100644 --- a/third_party/rust/wast/src/core/resolve/deinline_import_export.rs +++ b/third_party/rust/wast/src/core/resolve/deinline_import_export.rs @@ -50,7 +50,7 @@ pub fn run(fields: &mut Vec<ModuleField>) { // field here instead, switching this to a `Normal` memory. MemoryKind::Inline { is_32, ref data } => { let len = data.iter().map(|l| l.len()).sum::<usize>() as u32; - let pages = (len + page_size() - 1) / page_size(); + let pages = (len + default_page_size() - 1) / default_page_size(); let kind = MemoryKind::Normal(if is_32 { MemoryType::B32 { limits: Limits { @@ -58,6 +58,7 @@ pub fn run(fields: &mut Vec<ModuleField>) { max: Some(pages), }, shared: false, + page_size_log2: None, } } else { MemoryType::B64 { @@ -66,6 +67,7 @@ pub fn run(fields: &mut Vec<ModuleField>) { max: Some(u64::from(pages)), }, shared: false, + page_size_log2: None, } }); let data = match mem::replace(&mut m.kind, kind) { @@ -212,7 +214,7 @@ pub fn run(fields: &mut Vec<ModuleField>) { fields.push(item); } - fn page_size() -> u32 { + fn default_page_size() -> u32 { 1 << 16 } } diff --git a/third_party/rust/wast/src/core/resolve/names.rs b/third_party/rust/wast/src/core/resolve/names.rs index 05894e9a1e..f17590bbd1 100644 --- a/third_party/rust/wast/src/core/resolve/names.rs +++ b/third_party/rust/wast/src/core/resolve/names.rs @@ -457,6 +457,10 @@ impl<'a, 'b> ExprResolver<'a, 'b> { self.resolver.resolve(i, Ns::Global)?; } + GlobalAtomicSet(i) | GlobalAtomicGet(i) => { + self.resolver.resolve(&mut i.index, Ns::Global)?; + } + LocalSet(i) | LocalGet(i) | LocalTee(i) => { assert!(self.scopes.len() > 0); // Resolve a local by iterating over scopes from most recent @@ -490,30 +494,6 @@ impl<'a, 'b> ExprResolver<'a, 'b> { self.resolver.resolve(i, Ns::Type)?; } - FuncBind(b) => { - self.resolver.resolve_type_use(&mut b.ty)?; - } - - Let(t) => { - // Resolve (ref T) in locals - for local in t.locals.iter_mut() { - self.resolver.resolve_valtype(&mut local.ty)?; - } - - // Register all locals defined in this let - let mut scope = Namespace::default(); - for local in t.locals.iter() { - scope.register(local.id, "local")?; - } - self.scopes.push(scope); - self.blocks.push(ExprBlock { - label: t.block.label, - pushed_scope: true, - }); - - self.resolve_block_type(&mut t.block)?; - } - Block(bt) | If(bt) | Loop(bt) | Try(bt) => { self.blocks.push(ExprBlock { label: bt.label, diff --git a/third_party/rust/wast/src/core/resolve/types.rs b/third_party/rust/wast/src/core/resolve/types.rs index bfb996b4b6..84b0e516e4 100644 --- a/third_party/rust/wast/src/core/resolve/types.rs +++ b/third_party/rust/wast/src/core/resolve/types.rs @@ -139,7 +139,6 @@ impl<'a> Expander<'a> { Instruction::Block(bt) | Instruction::If(bt) | Instruction::Loop(bt) - | Instruction::Let(LetType { block: bt, .. }) | Instruction::Try(bt) | Instruction::TryTable(TryTable { block: bt, .. }) => { // No expansion necessary, a type reference is already here. @@ -174,9 +173,6 @@ impl<'a> Expander<'a> { } self.expand_type_use(&mut bt.ty); } - Instruction::FuncBind(b) => { - self.expand_type_use(&mut b.ty); - } Instruction::CallIndirect(c) | Instruction::ReturnCallIndirect(c) => { self.expand_type_use(&mut c.ty); } |