diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-09-30 12:37:31 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-10-02 17:31:37 -0700 |
commit | 154a96f439191c8422dc339d1ef6eb57d97d0409 (patch) | |
tree | 030a496dec26bd7643e04a5977765d53cc362828 /src | |
parent | b61d6eca643d957a255b5c3c8f393e3820d7428d (diff) |
explicitly define setjmp helper vars
Diffstat (limited to 'src')
-rw-r--r-- | src/jsifier.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 41a3d070..d7f00a1b 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -599,6 +599,11 @@ function JSify(data, functionsOnly, givenFunctions) { addVariable('label', 'i32', func); + if (func.setjmpTable) { + addVariable('setjmpLabel', 'i32', func); + addVariable('setjmpTable', 'i32', func); + } + // spell out local variables var vars = values(func.variables).filter(function(v) { return v.origin !== 'funcparam' && @@ -717,8 +722,8 @@ function JSify(data, functionsOnly, givenFunctions) { ret += 'dummy: 0'; ret += '};\n'; } else { - ret += 'var setjmpLabel = 0;\n'; - ret += 'var setjmpTable = ' + RuntimeGenerator.stackAlloc(4 * (MAX_SETJMPS + 1) * 2) + ';\n'; + ret += makeVarDef('setjmpLabel') + '=0;\n'; + ret += makeVarDef('setjmpTable') + '=' + RuntimeGenerator.stackAlloc(4 * (MAX_SETJMPS + 1) * 2) + ';\n'; ret += makeSetValue('setjmpTable', '0', '0', 'i32') + ';'; // initialize first entry to 0 } } |