diff options
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index 2eb456f1..f4ce12d5 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -2000,7 +2000,7 @@ function processMathop(item) { } function preciseCall(name) { Types.preciseI64MathUsed = true; - return finish([name + '(' + low1 + ',' + high1 + ',' + low2 + ',' + high2 + ')', 'tempRet0']); + return finish([asmCoercion(name + '(' + low1 + ',' + high1 + ',' + low2 + ',' + high2 + ')', 'i32'), 'tempRet0']); } function i64PreciseLib(type) { return preciseCall('_i64' + type[0].toUpperCase() + type.substr(1)); @@ -2363,3 +2363,14 @@ function getTypeFromHeap(suffix) { } } +// Generates code that prints without printf(), but just putchar (so can be directly inline in asm.js) +function makePrintChars(s, sep) { + sep = sep || ';'; + var ret = ''; + for (var i = 0; i < s.length; i++) { + ret += '_putchar(' + s.charCodeAt(i) + ')' + sep; + } + ret += '_putchar(10)'; + return ret; +} + |