aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js13
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;
+}
+