aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-12-01 16:46:45 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-07 14:23:22 -0800
commitf9e3b6eed3c4257c82d1353eb61af7217ddb5b9d (patch)
tree55d15321f7cd295453f2995a7961525079fdd590
parent358ec5c1a512188b646d478e698e6d668c0400f6 (diff)
take into account legalization of i64s into i32s in function signatures
-rwxr-xr-xemscripten.py1
-rw-r--r--src/modules.js2
2 files changed, 2 insertions, 1 deletions
diff --git a/emscripten.py b/emscripten.py
index 1b05a7a8..83ef740f 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -254,6 +254,7 @@ def emscript(infile, settings, outfile, libraries=[]):
forwarded_json['Functions']['indexedFunctions'] = {}
i = 2
for indexed in indexed_functions:
+ #print >> sys.stderr, 'indaxx', indexed, i
forwarded_json['Functions']['indexedFunctions'][indexed] = i # make sure not to modify this python object later - we use it in indexize
i += 2
forwarded_json['Functions']['nextIndex'] = i
diff --git a/src/modules.js b/src/modules.js
index 0b44888a..71fec0cd 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -231,7 +231,7 @@ var Functions = {
for (var i = 0; i < argTypes.length; i++) {
var type = argTypes[i];
if (!type) break; // varargs
- sig += isIntImplemented(type) ? 'i' : 'f';
+ sig += isIntImplemented(type) ? (getBits(type) == 64 ? 'ii' : 'i') : 'f'; // legalized i64s will be i32s
}
return sig;
},