diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-02-17 12:35:16 +0100 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-02-17 12:35:16 +0100 |
commit | 1ae2a2654a84f68d4b2618db6ccb2bb8336824b7 (patch) | |
tree | 2d913b9b59180acaf231eca02dbca5c3ebc841a1 | |
parent | d646177eae20378a379c5651d2150a81566a945c (diff) |
fix registerize bug on functions with arguments but no locals
-rw-r--r-- | tools/js-optimizer.js | 2 | ||||
-rw-r--r-- | tools/test-js-optimizer-regs-output.js | 4 | ||||
-rw-r--r-- | tools/test-js-optimizer-regs.js | 6 |
3 files changed, 10 insertions, 2 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index efbfa8aa..f2dc516a 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -1598,7 +1598,7 @@ function registerize(ast) { fun[2].push(reg); } } - getStatements(fun).unshift(['var', vars]); + if (vars.length > 0) getStatements(fun).unshift(['var', vars]); } } else { //printErr('unfake params: \n\n' + astToSrc(fun) + '\n\n'); diff --git a/tools/test-js-optimizer-regs-output.js b/tools/test-js-optimizer-regs-output.js index 36006b7c..fe7de5fb 100644 --- a/tools/test-js-optimizer-regs-output.js +++ b/tools/test-js-optimizer-regs-output.js @@ -225,4 +225,8 @@ function switchey(r1) { r9 = r1 + 2; pp(r9); } +function __ZN14NetworkAddressC1EPKcti(r1) { + __ZN14NetworkAddressC2EPKcti(r1); + return; +} diff --git a/tools/test-js-optimizer-regs.js b/tools/test-js-optimizer-regs.js index 4802afa3..3013e518 100644 --- a/tools/test-js-optimizer-regs.js +++ b/tools/test-js-optimizer-regs.js @@ -230,4 +230,8 @@ function switchey(x) { var aaa = x+2; pp(aaa); } -// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test", "primes", "atomic", "fcntl_open", "ex", "switchey"] +function __ZN14NetworkAddressC1EPKcti($this) { + __ZN14NetworkAddressC2EPKcti($this); + return; +} +// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test", "primes", "atomic", "fcntl_open", "ex", "switchey", "__ZN14NetworkAddressC1EPKcti"] |