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