From a83c3af4bf4dc51ad81670704c2000d6431f1188 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 30 Nov 2018 13:23:41 -0800 Subject: [PATCH] Ensure our JS heap is a dense array Turns out `heap.fill(undefined)` is required to ensure it's a dense array, otherwise we'll accidentally be a sparse array and much slower than necessary! --- crates/cli-support/src/js/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/cli-support/src/js/mod.rs b/crates/cli-support/src/js/mod.rs index ed80e795..65258e06 100644 --- a/crates/cli-support/src/js/mod.rs +++ b/crates/cli-support/src/js/mod.rs @@ -907,6 +907,7 @@ impl<'a> Context<'a> { return; } self.global(&format!("const heap = new Array({});", INITIAL_HEAP_OFFSET)); + self.global("heap.fill(undefined);"); self.global(&format!("heap.push({});", INITIAL_HEAP_VALUES.join(", "))); }