aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-04-21 10:17:52 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-04-29 13:01:58 -0700
commitc2816fad68242e8e85a731d32527115673fb9422 (patch)
tree192cd801103732d90c8e383d0f368f149ed97010 /src/library.js
parentec9707170f4e6c8f016c2e2ea27a53abf1326410 (diff)
implement le32 varargs as a struct with two fields: a start and an offset
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index c62b6a05..1686fc70 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4865,7 +4865,13 @@ LibraryManager.library = {
llvm_va_start__inline: function(ptr) {
// varargs - we received a pointer to the varargs as a final 'extra' parameter called 'varrp'
+#if TARGET_X86
return makeSetValue(ptr, 0, 'varrp', 'void*');
+#endif
+#if TARGET_LE32
+ // 4-word structure: start, current offset
+ return makeSetValue(ptr, 0, 'varrp', 'void*') + ';' + makeSetValue(ptr, 4, 0, 'void*');
+#endif
},
llvm_va_end: function() {},