aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/library.js')
-rw-r--r--src/library.js49
1 files changed, 3 insertions, 46 deletions
diff --git a/src/library.js b/src/library.js
index 82e42a28..bc7a4d0a 100644
--- a/src/library.js
+++ b/src/library.js
@@ -4199,51 +4199,8 @@ LibraryManager.library = {
ret += makeCopyValues(dest, src, num, 'null', null, align);
return ret;
},
- memcpy: function (dest, src, num, align) {
-#if ASSERTIONS
- assert(num % 1 === 0); //, 'memcpy given ' + num + ' bytes to copy. Problem with quantum=1 corrections perhaps?');
-#endif
-#if USE_TYPED_ARRAYS == 2
- if (num >= {{{ SEEK_OPTIMAL_ALIGN_MIN }}} && src % 2 == dest % 2) {
- // This is unaligned, but quite large, and potentially alignable, so work hard to get to aligned settings
- if (src % 4 == dest % 4) {
- var stop = src + num;
- while (src % 4) { // no need to check for stop, since we have large num
- HEAP8[dest++] = HEAP8[src++];
- }
- var src4 = src >> 2, dest4 = dest >> 2, stop4 = stop >> 2;
- while (src4 < stop4) {
- HEAP32[dest4++] = HEAP32[src4++];
- }
- src = src4 << 2;
- dest = dest4 << 2;
- while (src < stop) {
- HEAP8[dest++] = HEAP8[src++];
- }
- } else {
- var stop = src + num;
- if (src % 2) { // no need to check for stop, since we have large num
- HEAP8[dest++] = HEAP8[src++];
- }
- var src2 = src >> 1, dest2 = dest >> 1, stop2 = stop >> 1;
- while (src2 < stop2) {
- HEAP16[dest2++] = HEAP16[src2++];
- }
- src = src2 << 1;
- dest = dest2 << 1;
- if (src < stop) {
- HEAP8[dest++] = HEAP8[src++];
- }
- }
- } else {
- while (num--) {
- HEAP8[dest++] = HEAP8[src++];
- }
- }
-#else
- {{{ makeCopyValues('dest', 'src', 'num', 'null', null, 'align') }}};
-#endif
- },
+
+ memcpy: function(){ throw 'memcpy should be included from libc' },
llvm_memcpy_i32: 'memcpy',
llvm_memcpy_i64: 'memcpy',
@@ -4262,7 +4219,7 @@ LibraryManager.library = {
{{{ makeCopyValues('dest', 'src', 1, 'null', null, 1) }}};
}
} else {
- _memcpy(dest, src, num, align);
+ _memcpy(dest, src, num);
}
},
llvm_memmove_i32: 'memmove',