From 19ce9812965d1dcd15b93cf4e993f958d147179b Mon Sep 17 00:00:00 2001 From: kpdecker Date: Sat, 23 Aug 2014 07:36:01 -0500 Subject: [PATCH] Do not flush subexpressions They are no longer duplicated with the new helper calling pattern and this also introduced stack corruption issues due to improper value lookups. Fixes #767 Fixes #768 --- lib/handlebars/compiler/javascript-compiler.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/handlebars/compiler/javascript-compiler.js b/lib/handlebars/compiler/javascript-compiler.js index a6930f088..7a4d98790 100644 --- a/lib/handlebars/compiler/javascript-compiler.js +++ b/lib/handlebars/compiler/javascript-compiler.js @@ -545,13 +545,6 @@ JavaScriptCompiler.prototype = { var lookup = (isSimple ? helper.name + ' || ' : '') + nonHelper + ' || helperMissing'; this.push('((' + lookup + ').call(' + helper.callParams + '))'); - - // Always flush subexpressions. This is both to prevent the compounding size issue that - // occurs when the code has to be duplicated for inlining and also to prevent errors - // due to the incorrect options object being passed due to the shared register. - if (!isRoot) { - this.flushInline(); - } }, // [invokeKnownHelper]