Improved formatting

This commit is contained in:
Syrus Akbary
2018-10-23 11:43:43 +02:00
parent 837e67999f
commit 3f5091780d
5 changed files with 21 additions and 22 deletions

View File

@ -38,8 +38,7 @@ pub fn generate_libc_env<'a, 'b>() -> ImportObject<&'a str, &'b str> {
mod tests {
use super::generate_libc_env;
use crate::webassembly::{
instantiate, ErrorKind, Export, ImportObject, Instance, Module, ResultObject,
VmCtx
instantiate, ErrorKind, Export, ImportObject, Instance, Module, ResultObject, VmCtx,
};
use libc::putchar;

View File

@ -14,8 +14,8 @@ extern crate wabt;
extern crate target_lexicon;
extern crate spin;
use std::time::{Duration, Instant};
use std::alloc::System;
use std::time::{Duration, Instant};
// #[global_allocator]
// static A: System = System;
@ -75,9 +75,11 @@ fn execute_wasm(wasm_path: PathBuf) -> Result<(), String> {
}
let import_object = integrations::generate_libc_env();
let webassembly::ResultObject { module, mut instance } =
webassembly::instantiate(wasm_binary, import_object)
.map_err(|err| String::from(err.description()))?;
let webassembly::ResultObject {
module,
mut instance,
} = webassembly::instantiate(wasm_binary, import_object)
.map_err(|err| String::from(err.description()))?;
let func_index = instance
.start_func
.unwrap_or_else(|| match module.info.exports.get("main") {

View File

@ -68,7 +68,6 @@ fn get_function_addr(
// (base as usize + offset) as _
// }
// #[derive(Debug)]
#[repr(C, packed)]
pub struct VmCtx<'phantom> {
@ -506,8 +505,10 @@ impl Instance {
}
pub fn generate_context(&mut self) -> VmCtx {
let memories: Vec<UncheckedSlice<u8>> = self.memories.iter().map(|mem| mem[..].into()).collect();
let tables: Vec<BoundedSlice<usize>> = self.tables.iter().map(|table| table[..].into()).collect();
let memories: Vec<UncheckedSlice<u8>> =
self.memories.iter().map(|mem| mem[..].into()).collect();
let tables: Vec<BoundedSlice<usize>> =
self.tables.iter().map(|table| table[..].into()).collect();
let globals: UncheckedSlice<u8> = self.globals[..].into();
// println!("GENERATING CONTEXT {:?}", self.tables);
@ -570,7 +571,6 @@ impl Clone for Instance {
}
extern "C" fn grow_memory(size: u32, memory_index: u32, vmctx: &mut VmCtx) -> i32 {
return 0;
// unimplemented!();
// let instance = &vmctx.user_data.instance;

View File

@ -36,10 +36,11 @@ impl LinearMemory {
initial, maximum
);
let len: u64 = PAGE_SIZE as u64 * match maximum {
Some(val) => val as u64,
None => initial as u64,
};
let len: u64 = PAGE_SIZE as u64
* match maximum {
Some(val) => val as u64,
None => initial as u64,
};
let len = if len == 0 { PAGE_SIZE as u64 } else { len };
let mmap = MmapMut::map_anon(len as usize).unwrap();

View File

@ -409,7 +409,7 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
fn make_table(&mut self, func: &mut ir::Function, table_index: TableIndex) -> ir::Table {
let vmctx = func.create_global_value(ir::GlobalValueData::VMContext);
let ptr_size = self.ptr_size();
// Given a vmctx, we want to retrieve vmctx.tables
// Create a table whose base address is stored at `vmctx+112`.
// 112 is the offset of the vmctx.tables pointer respect to vmctx pointer
@ -433,7 +433,7 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
offset: Offset32::new(table_data_offset),
global_type: I64,
});
let table = func.create_table(ir::TableData {
base_gv: base_gv,
min_size: Imm64::new(0),
@ -539,12 +539,9 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
ext
// pos.ins().imul_imm(ext, 4)
};
let entry_addr = pos.ins().table_addr(
self.pointer_type(),
table,
callee_offset,
0,
);
let entry_addr = pos
.ins()
.table_addr(self.pointer_type(), table, callee_offset, 0);
let mut mflags = ir::MemFlags::new();
mflags.set_notrap();
mflags.set_aligned();