From b86abc2ecfea9ccbb93cad2fe4e9f8574beb7ed8 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 23 Dec 2013 15:43:01 -0800 Subject: fix bug where close-together tempDoublePtr operations could cross each other --- tools/js-optimizer.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tools/js-optimizer.js') diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index 9efca25f..6e82451c 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -2427,7 +2427,12 @@ function eliminate(ast, memSafe) { if (allowTracking) track(name, node[3], node); } } else if (target[0] === 'sub') { - if (!isTempDoublePtrAccess(target) && !memoryInvalidated) { + if (isTempDoublePtrAccess(target)) { + if (!globalsInvalidated) { + invalidateGlobals(); + globalsInvalidated = true; + } + } else if (!memoryInvalidated) { invalidateMemory(); memoryInvalidated = true; } -- cgit v1.2.3-70-g09d2