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,37 +118,28 @@ 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 }
); ),
(
data.push((
"DYNAMICTOP_PTR".into(),
LocalGlobal { data: dynamictop_ptr(STATIC_BUMP) as _ },
GlobalDesc { mutable: false, ty: I32 }),
);
data.push((
"Infinity".into(), "Infinity".into(),
LocalGlobal { data: std::f64::INFINITY.to_bits() }, LocalGlobal { data: std::f64::INFINITY.to_bits() },
GlobalDesc { mutable: false, ty: F64 }, GlobalDesc { mutable: false, ty: F64 },
)); ),
(
data.push((
"NaN".into(), "NaN".into(),
LocalGlobal { data: std::f64::NAN.to_bits() }, LocalGlobal { data: std::f64::NAN.to_bits() },
GlobalDesc { mutable: false, ty: F64 }, GlobalDesc { mutable: false, ty: F64 },
)); ),
(
data.push((
"tableBase".into(), "tableBase".into(),
LocalGlobal { data: 0 }, LocalGlobal { data: 0 },
GlobalDesc { mutable: false, ty: I32 }, GlobalDesc { mutable: false, ty: I32 },
)); ),
];
Self { Self {
data, data,