aboutsummaryrefslogtreecommitdiff
path: root/src/modules.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-01-03 15:16:17 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-01-03 15:16:17 -0800
commit8478d6aee54d6c52de16d8c58309534afbf5bf9e (patch)
treebec73fd8e0cd6888d2dfb6b9e6a1423cc2432f61 /src/modules.js
parent1a007b1631509b9d72499a8f4402294017ee04dc (diff)
parenta8e26049c1a72fa6b19dac45fa2b44616f94241a (diff)
Merge branch 'incoming'
Diffstat (limited to 'src/modules.js')
-rw-r--r--src/modules.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/modules.js b/src/modules.js
index e80115c4..e2d3433f 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -282,7 +282,12 @@ var Functions = {
sig += Functions.getSignatureLetter(type);
} else {
var chunks = getNumIntChunks(type);
- for (var j = 0; j < chunks; j++) sig += 'i';
+ if (chunks > 0) {
+ for (var j = 0; j < chunks; j++) sig += 'i';
+ } else if (type !== '...') {
+ // some special type like a SIMD vector (anything but varargs, which we handle below)
+ sig += Functions.getSignatureLetter(type);
+ }
}
}
if (hasVarArgs) sig += 'i';
@@ -424,6 +429,26 @@ var LibraryManager = {
eval(processMacros(preprocess(read(libraries[i]))));
}
+ /*
+ // export code for CallHandlers.h
+ printErr('============================');
+ for (var x in this.library) {
+ var y = this.library[x];
+ if (typeof y === 'string' && x.indexOf('__sig') < 0 && x.indexOf('__postset') < 0 && y.indexOf(' ') < 0) {
+ printErr('DEF_REDIRECT_HANDLER(' + x + ', ' + y + ');');
+ }
+ }
+ printErr('============================');
+ for (var x in this.library) {
+ var y = this.library[x];
+ if (typeof y === 'string' && x.indexOf('__sig') < 0 && x.indexOf('__postset') < 0 && y.indexOf(' ') < 0) {
+ printErr(' SETUP_CALL_HANDLER(' + x + ');');
+ }
+ }
+ printErr('============================');
+ // end export code for CallHandlers.h
+ */
+
this.loaded = true;
},