22 lines
433 B
Rust
Raw Normal View History

2017-05-10 16:19:31 +03:00
use parity_wasm::interpreter::ModuleInstanceInterface;
pub struct Arena {
dynamic_top: u32,
}
2017-05-12 20:50:09 +03:00
#[derive(Debug)]
2017-05-10 16:19:31 +03:00
pub struct Error;
impl Arena {
pub fn new(stack_top: u32) -> Self {
2017-05-12 14:22:58 +03:00
Arena {
2017-05-10 16:19:31 +03:00
dynamic_top: stack_top,
}
}
2017-05-12 20:50:09 +03:00
pub fn alloc(&mut self, size: u32) -> Result<u32, Error> {
2017-05-10 16:19:31 +03:00
let previous_top = self.dynamic_top;
self.dynamic_top += size;
Ok(previous_top)
}
}