Rename Intermediate to FuncData

This commit is contained in:
Rerumu
2022-06-10 23:35:25 -04:00
parent 78aa47cdd6
commit b8e40fe740
11 changed files with 47 additions and 47 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
use std::collections::BTreeSet;
use wasm_ast::{
node::{BinOp, CmpOp, Intermediate, LoadAt, StoreAt, UnOp, Value},
node::{BinOp, CmpOp, FuncData, LoadAt, StoreAt, UnOp, Value},
visit::{Driver, Visitor},
};
@@ -62,12 +62,12 @@ impl Visitor for Visit {
}
}
pub fn visit(ir: &Intermediate) -> BTreeSet<(&'static str, &'static str)> {
pub fn visit(ast: &FuncData) -> BTreeSet<(&'static str, &'static str)> {
let mut visit = Visit {
result: BTreeSet::new(),
};
ir.accept(&mut visit);
ast.accept(&mut visit);
visit.result
}
+3 -3
View File
@@ -1,7 +1,7 @@
use std::collections::BTreeSet;
use wasm_ast::{
node::{Intermediate, LoadAt, MemoryGrow, MemorySize, StoreAt},
node::{FuncData, LoadAt, MemoryGrow, MemorySize, StoreAt},
visit::{Driver, Visitor},
};
@@ -27,12 +27,12 @@ impl Visitor for Visit {
}
}
pub fn visit(ir: &Intermediate) -> BTreeSet<usize> {
pub fn visit(ast: &FuncData) -> BTreeSet<usize> {
let mut visit = Visit {
result: BTreeSet::new(),
};
ir.accept(&mut visit);
ast.accept(&mut visit);
visit.result
}
+8 -8
View File
@@ -5,7 +5,7 @@ use std::{
use parity_wasm::elements::ValueType;
use wasm_ast::node::{
Backward, Br, BrIf, BrTable, Call, CallIndirect, Forward, If, Intermediate, Return, SetGlobal,
Backward, Br, BrIf, BrTable, Call, CallIndirect, Forward, FuncData, If, Return, SetGlobal,
SetLocal, SetTemporary, Statement, StoreAt, Terminator,
};
@@ -263,16 +263,16 @@ impl Driver for Statement {
}
}
fn write_parameter_list(ir: &Intermediate, w: &mut dyn Write) -> Result<()> {
fn write_parameter_list(ast: &FuncData, w: &mut dyn Write) -> Result<()> {
write!(w, "function(")?;
write_ascending("param", 0..ir.num_param, w)?;
write_ascending("param", 0..ast.num_param, w)?;
write!(w, ")")
}
fn write_variable_list(ir: &Intermediate, w: &mut dyn Write) -> Result<()> {
fn write_variable_list(ast: &FuncData, w: &mut dyn Write) -> Result<()> {
let mut total = 0;
for data in &ir.local_data {
for data in &ast.local_data {
let range = total..total + usize::try_from(data.count()).unwrap();
let zero = if data.value_type() == ValueType::I64 {
"num_K_ZERO "
@@ -289,16 +289,16 @@ fn write_variable_list(ir: &Intermediate, w: &mut dyn Write) -> Result<()> {
write!(w, " ")?;
}
if ir.num_stack != 0 {
if ast.num_stack != 0 {
write!(w, "local ")?;
write_ascending("reg", 0..ir.num_stack, w)?;
write_ascending("reg", 0..ast.num_stack, w)?;
write!(w, " ")?;
}
Ok(())
}
impl Driver for Intermediate {
impl Driver for FuncData {
fn write(&self, mng: &mut Manager, w: &mut dyn Write) -> Result<()> {
write_parameter_list(self, w)?;
write_variable_list(self, w)?;
+5 -5
View File
@@ -9,7 +9,7 @@ use parity_wasm::elements::{
use wasm_ast::{
builder::{Builder, TypeInfo},
node::Intermediate,
node::FuncData,
};
use crate::{
@@ -217,7 +217,7 @@ fn write_data_list(wasm: &Module, type_info: &TypeInfo, w: &mut dyn Write) -> Re
Ok(())
}
fn build_func_list(wasm: &Module, type_info: &TypeInfo) -> Vec<Intermediate> {
fn build_func_list(wasm: &Module, type_info: &TypeInfo) -> Vec<FuncData> {
let list = match wasm.code_section() {
Some(v) => v.bodies(),
None => return Vec::new(),
@@ -241,7 +241,7 @@ fn write_local_operation(head: &str, tail: &str, w: &mut dyn Write) -> Result<()
}
}
fn write_localize_used(func_list: &[Intermediate], w: &mut dyn Write) -> Result<()> {
fn write_localize_used(func_list: &[FuncData], w: &mut dyn Write) -> Result<()> {
let loc_set: BTreeSet<_> = func_list.iter().flat_map(localize::visit).collect();
loc_set
@@ -249,7 +249,7 @@ fn write_localize_used(func_list: &[Intermediate], w: &mut dyn Write) -> Result<
.try_for_each(|(a, b)| write_local_operation(a, b, w))
}
fn write_memory_used(func_list: &[Intermediate], w: &mut dyn Write) -> Result<Vec<usize>> {
fn write_memory_used(func_list: &[FuncData], w: &mut dyn Write) -> Result<Vec<usize>> {
let mem_set: BTreeSet<_> = func_list.iter().flat_map(memory::visit).collect();
let list: Vec<_> = mem_set.into_iter().collect();
@@ -278,7 +278,7 @@ fn write_func_start(wasm: &Module, index: u32, offset: u32, w: &mut dyn Write) -
fn write_func_list(
wasm: &Module,
type_info: &TypeInfo,
func_list: &[Intermediate],
func_list: &[FuncData],
w: &mut dyn Write,
) -> Result<()> {
let offset = type_info.len_ex().try_into().unwrap();