diff options
Diffstat (limited to 'src/library.js')
-rw-r--r-- | src/library.js | 24 |
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() { |