aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-10-29 16:46:03 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-10-29 16:46:03 -0700
commitc03de3f080fc942ea29b403c37c538697d047b6e (patch)
tree5b1723bd523a8c6bc59e8f8bb82eaab6d5b659fa /src
parent7c909b0db1a699f9a4f71189a56e51c065557a41 (diff)
simplify wrapper asm coercions
Diffstat (limited to 'src')
-rw-r--r--src/modules.js12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/modules.js b/src/modules.js
index b8301d71..13cca977 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -360,15 +360,9 @@ var Functions = {
if (!wrapped[curr]) {
var args = '', arg_coercions = '', call = short + '(', retPre = '', retPost = '';
if (t[0] != 'v') {
- if (t[0] == 'i') {
- retPre = 'return ';
- retPost = '|0';
- } else if (t[0] === 'd') {
- retPre = 'return +';
- } else {
- retPre = 'return Math_fround(+(';
- retPost = '))';
- }
+ var temp = asmFFICoercion('X', Functions.getSignatureType(t[0])).split('X');
+ retPre = 'return ' + temp[0];
+ retPost = temp[1];
}
for (var j = 1; j < t.length; j++) {
args += (j > 1 ? ',' : '') + 'a' + j;