aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2010-12-13 20:35:45 -0800
committerAlon Zakai <azakai@mozilla.com>2010-12-13 20:35:45 -0800
commit8783a09b1d0a02a378406b9d879818a6c02a6358 (patch)
treea37ed35e94d7e5404e2fe90edaa82f30e80e42f4 /src
parent45c53b2520a326b8d870321a6f39ac17fbc297c9 (diff)
minor fixes for python demo
Diffstat (limited to 'src')
-rw-r--r--src/library.js7
-rw-r--r--src/preamble.js9
2 files changed, 16 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index f894141e..0fb73611 100644
--- a/src/library.js
+++ b/src/library.js
@@ -315,6 +315,13 @@ var Library = {
return 0;
},
+ strstr: function(ptr1, ptr2) {
+ var str1 = Pointer_stringify(ptr1);
+ var str2 = Pointer_stringify(ptr2);
+ var ret = str1.search(str2);
+ return ret >= 0 ? ptr1 + ret : 0;
+ },
+
strchr: function(ptr, chr) {
ptr--;
do {
diff --git a/src/preamble.js b/src/preamble.js
index 844c0bba..ef29bf82 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -367,6 +367,15 @@ function _llvm_memcpy_i32(dest, src, num, idunno) {
}
_memcpy = _llvm_memcpy_i64 = _llvm_memcpy_p0i8_p0i8_i32 = _llvm_memcpy_p0i8_p0i8_i64 = _llvm_memcpy_i32;
+function _llvm_memmove_i32(dest, src, num, idunno) {
+ // not optimized!
+ var tmp = _malloc(num);
+ _memcpy(tmp, src, num);
+ _memcpy(dest, tmp, num);
+ _free(tmp);
+}
+_memmove = _llvm_memmove_i64 = _llvm_memmove_p0i8_p0i8_i32 = _llvm_memmove_p0i8_p0i8_i64 = _llvm_memmove_i32;
+
function llvm_memset_i32(ptr, value, num) {
for (var i = 0; i < num; i++) {
#if USE_TYPED_ARRAYS