aboutsummaryrefslogtreecommitdiff
path: root/src/jsifier.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-04-12 10:55:50 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-04-12 10:55:50 -0700
commit835c1e426ab0967d65bd41303c646c8e904a82d3 (patch)
treefaa176862d06ccacf2da037ae63d4b21f91cd3e3 /src/jsifier.js
parent26f97461214052df80f3310f856670aebcf84d37 (diff)
fix forced calls through invoke_*
Diffstat (limited to 'src/jsifier.js')
-rw-r--r--src/jsifier.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jsifier.js b/src/jsifier.js
index 82cdced6..8a3ac25e 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -1426,10 +1426,12 @@ function JSify(data, functionsOnly, givenFunctions) {
var sig = Functions.getSignature(returnType, argsTypes, hasVarArgs);
if (ASM_JS) {
assert(returnType.search(/\("'\[,/) == -1); // XXX need isFunctionType(type, out)
- if (!forceByPointer) {
+ if (!byPointerForced) {
callIdent = '(' + callIdent + ')&{{{ FTM_' + sig + ' }}}'; // the function table mask is set in emscripten.py
} else {
- // add initial argument for invoke. note: no need to update argsTypes at this point
+ // This is a forced call, through an invoke_*.
+ // note: no need to update argsTypes at this point
+ Functions.unimplementedFunctions[callIdent] = sig;
args.unshift(byPointerForced ? Functions.getIndex(callIdent) : callIdent);
callIdent = 'invoke_' + sig;
}