Fix build error within wasm-ast

This commit is contained in:
RealEthanPlayzDev 2023-02-24 11:30:34 +07:00
parent f5ccf67374
commit faa4e6b8ae
5 changed files with 14 additions and 19 deletions

View File

@ -4,8 +4,8 @@ use std::{
}; };
use wasm_ast::node::{ use wasm_ast::node::{
Block, Br, BrIf, BrTable, Call, CallIndirect, FuncData, If, LabelType, MemoryGrow, MemoryCopy, Block, Br, BrIf, BrTable, Call, CallIndirect, FuncData, If, LabelType, MemoryCopy, MemoryFill,
MemoryFill, SetGlobal, SetLocal, SetTemporary, Statement, StoreAt, Terminator, MemoryGrow, SetGlobal, SetLocal, SetTemporary, Statement, StoreAt, Terminator,
}; };
use wasmparser::ValType; use wasmparser::ValType;
@ -290,7 +290,6 @@ impl DriverNoContext for MemoryCopy {
write!(w, "rt.allocator.copy(memory_at_0, {dst}, {src}, ")?; write!(w, "rt.allocator.copy(memory_at_0, {dst}, {src}, ")?;
self.size().write(w)?; self.size().write(w)?;
write!(w, ")") write!(w, ")")
} }
} }
@ -328,7 +327,7 @@ impl Driver for Statement {
Self::StoreAt(s) => write_stat(s, mng, w), Self::StoreAt(s) => write_stat(s, mng, w),
Self::MemoryGrow(s) => write_stat(s, mng, w), Self::MemoryGrow(s) => write_stat(s, mng, w),
Self::MemoryCopy(s) => write_stat(s, mng, w), Self::MemoryCopy(s) => write_stat(s, mng, w),
Self::MemoryFill(s) => write_stat(s, mng, w) Self::MemoryFill(s) => write_stat(s, mng, w),
} }
} }
} }

View File

@ -4,8 +4,8 @@ use std::{
}; };
use wasm_ast::node::{ use wasm_ast::node::{
Block, Br, BrIf, BrTable, Call, CallIndirect, FuncData, If, LabelType, MemoryGrow, MemoryCopy, Block, Br, BrIf, BrTable, Call, CallIndirect, FuncData, If, LabelType, MemoryCopy, MemoryFill,
MemoryFill, SetGlobal, SetLocal, SetTemporary, Statement, StoreAt, Terminator, MemoryGrow, SetGlobal, SetLocal, SetTemporary, Statement, StoreAt, Terminator,
}; };
use wasmparser::ValType; use wasmparser::ValType;

View File

@ -4,8 +4,8 @@ use crate::{
module::{read_checked, TypeInfo}, module::{read_checked, TypeInfo},
node::{ node::{
BinOp, BinOpType, Block, Br, BrIf, BrTable, Call, CallIndirect, CmpOp, CmpOpType, BinOp, BinOpType, Block, Br, BrIf, BrTable, Call, CallIndirect, CmpOp, CmpOpType,
Expression, FuncData, GetGlobal, GetLocal, If, LabelType, LoadAt, LoadType, MemoryGrow, Expression, FuncData, GetGlobal, GetLocal, If, LabelType, LoadAt, LoadType, MemoryCopy,
MemoryCopy, MemoryFill, MemorySize, Select, SetGlobal, SetLocal, Statement, StoreAt, MemoryFill, MemoryGrow, MemorySize, Select, SetGlobal, SetLocal, Statement, StoreAt,
StoreType, Terminator, UnOp, UnOpType, Value, StoreType, Terminator, UnOp, UnOpType, Value,
}, },
stack::{ReadType, Stack}, stack::{ReadType, Stack},
@ -611,12 +611,12 @@ impl<'a> Factory<'a> {
self.target.leak_memory_write(memory); self.target.leak_memory_write(memory);
self.target.code.push(data); self.target.code.push(data);
} }
Operator::MemoryCopy { src, dst } => { Operator::MemoryCopy { dst_mem, src_mem } => {
let size = self.target.stack.pop().into(); let size = self.target.stack.pop().into();
let data = Statement::MemoryCopy(MemoryCopy { let data = Statement::MemoryCopy(MemoryCopy {
dst, dst: dst_mem,
src, src: src_mem,
size, size,
}); });
@ -626,11 +626,7 @@ impl<'a> Factory<'a> {
let n = self.target.stack.pop().into(); let n = self.target.stack.pop().into();
let value = self.target.stack.pop().into(); let value = self.target.stack.pop().into();
let data = Statement::MemoryFill(MemoryFill { let data = Statement::MemoryFill(MemoryFill { mem, n, value });
mem,
n,
value,
});
self.target.code.push(data); self.target.code.push(data);
} }

View File

@ -1162,7 +1162,7 @@ pub enum Statement {
StoreAt(StoreAt), StoreAt(StoreAt),
MemoryGrow(MemoryGrow), MemoryGrow(MemoryGrow),
MemoryCopy(MemoryCopy), MemoryCopy(MemoryCopy),
MemoryFill(MemoryFill) MemoryFill(MemoryFill),
} }
pub struct FuncData { pub struct FuncData {

View File

@ -1,7 +1,7 @@
use crate::node::{ use crate::node::{
BinOp, Block, Br, BrIf, BrTable, Call, CallIndirect, CmpOp, Expression, FuncData, GetGlobal, BinOp, Block, Br, BrIf, BrTable, Call, CallIndirect, CmpOp, Expression, FuncData, GetGlobal,
GetLocal, GetTemporary, If, LoadAt, MemoryGrow, MemorySize, MemoryCopy, MemoryFill, Select, SetGlobal, SetLocal, GetLocal, GetTemporary, If, LoadAt, MemoryCopy, MemoryFill, MemoryGrow, MemorySize, Select,
SetTemporary, Statement, StoreAt, Terminator, UnOp, Value, SetGlobal, SetLocal, SetTemporary, Statement, StoreAt, Terminator, UnOp, Value,
}; };
pub trait Visitor { pub trait Visitor {