Refactor emscripten globals

This commit is contained in:
Steve Akinyemi 2019-01-16 00:22:27 +01:00
parent fdb0841783
commit e26590d370

View File

@ -118,38 +118,29 @@ pub struct EmscriptenGlobals {
impl EmscriptenGlobals { impl EmscriptenGlobals {
pub fn new() -> Self { pub fn new() -> Self {
let mut data = Vec::new(); let mut data = vec![
(
data.push(( "STACKTOP".into(),
"STACKTOP".into(), LocalGlobal { data: stacktop(STATIC_BUMP) as _ },
LocalGlobal { data: stacktop(STATIC_BUMP) as _ }, GlobalDesc { mutable: false, ty: I32 }
GlobalDesc { mutable: false, ty: I32 }), ),
); (
"Infinity".into(),
data.push(( LocalGlobal { data: std::f64::INFINITY.to_bits() },
"DYNAMICTOP_PTR".into(), GlobalDesc { mutable: false, ty: F64 },
LocalGlobal { data: dynamictop_ptr(STATIC_BUMP) as _ }, ),
GlobalDesc { mutable: false, ty: I32 }), (
); "NaN".into(),
LocalGlobal { data: std::f64::NAN.to_bits() },
data.push(( GlobalDesc { mutable: false, ty: F64 },
"Infinity".into(), ),
LocalGlobal { data: std::f64::INFINITY.to_bits() }, (
GlobalDesc { mutable: false, ty: F64 }, "tableBase".into(),
)); LocalGlobal { data: 0 },
GlobalDesc { mutable: false, ty: I32 },
data.push(( ),
"NaN".into(), ];
LocalGlobal { data: std::f64::NAN.to_bits() },
GlobalDesc { mutable: false, ty: F64 },
));
data.push((
"tableBase".into(),
LocalGlobal { data: 0 },
GlobalDesc { mutable: false, ty: I32 },
));
Self { Self {
data, data,
} }