aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index 7d831d20..210b79e1 100644
--- a/src/library.js
+++ b/src/library.js
@@ -119,6 +119,15 @@ var Library = {
return chr >= '0'.charCodeAt(0) && chr <= '9'.charCodeAt(0);
},
+ memcmp: function(p1, p2, num) {
+ for (var i = 0; i < num; i++) {
+ var v1 = IHEAP[p1+i];
+ var v2 = IHEAP[p2+i];
+ if (v1 != v2) return v1 > v2 ? 1 : -1;
+ }
+ return 0;
+ },
+
// LLVM specifics
__assert_fail: function(condition, file, line) {
@@ -153,6 +162,21 @@ var Library = {
};
},
+ llvm_stacksave: function() {
+ var self = _llvm_stacksave;
+ if (!self.LLVM_SAVEDSTACKS) {
+ self.LLVM_SAVEDSTACKS = [];
+ }
+ self.LLVM_SAVEDSTACKS.push(STACKTOP);
+ return self.LLVM_SAVEDSTACKS.length-1;
+ },
+ llvm_stackrestore: function(p) {
+ var self = _llvm_stacksave;
+ var ret = self.LLVM_SAVEDSTACKS[p];
+ self.LLVM_SAVEDSTACKS.splice(p, 1);
+ return ret;
+ },
+
// iostream
_ZNSt8ios_base4InitC1Ev: function() {