diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-11-29 10:44:04 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-12-07 14:23:19 -0800 |
commit | a10b76178eec4cc5db8f89619751d2a38c66c37e (patch) | |
tree | 618bf439662128a655cc2a79d50042fcbafd2cbd /src/jsifier.js | |
parent | 098716f2517a1536a8eab615d1ee14f9939fcec9 (diff) |
define local vars asm.js style
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 0d962dc9..7d777575 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -546,6 +546,14 @@ function JSify(data, functionsOnly, givenFunctions) { func.params.forEach(function(param) { func.JS += ' ' + param.ident + ' = ' + asmCoercion(param.ident, param.type) + ';\n'; }); + + // spell out local variables + var vars = values(func.variables); + if (vars.length) { + func.JS += ' var ' + vars.filter(function(v) { return v.origin != 'funcparam' }).map(function(v) { + return v.ident + ' = ' + asmInitializer(v.type); + }).join(', ') + ';\n'; + } } if (PROFILE) { @@ -764,7 +772,7 @@ function JSify(data, functionsOnly, givenFunctions) { var valueJS = item.JS; item.JS = ''; if (CLOSURE_ANNOTATIONS) item.JS += '/** @type {number} */ '; - item.JS += (item.overrideSSA ? '' : 'var ') + toNiceIdent(item.assignTo); + item.JS += ((item.overrideSSA || ASM_JS) ? '' : 'var ') + toNiceIdent(item.assignTo); var value = parseNumerical(valueJS); var impl = getVarImpl(item.funcData, item.assignTo); |