Index: src/utils.h |
diff --git a/src/utils.h b/src/utils.h |
index 8eca39207d4aa55b222870a2e36e7ce53a273bc8..7badfe09b138518d557bc062a2b43d3258c05e63 100644 |
--- a/src/utils.h |
+++ b/src/utils.h |
@@ -1154,7 +1154,9 @@ Vector<const char> ReadFile(FILE* file, |
template <typename sourcechar, typename sinkchar> |
INLINE(static void CopyCharsUnsigned(sinkchar* dest, const sourcechar* src, |
size_t chars)); |
-#if defined(V8_HOST_ARCH_ARM) |
+#if defined(V8_HOST_ARCH_X64) |
+INLINE(void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, size_t chars)); |
+#elif defined(V8_HOST_ARCH_ARM) |
INLINE(void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, size_t chars)); |
INLINE(void CopyCharsUnsigned(uint16_t* dest, const uint8_t* src, |
size_t chars)); |
@@ -1213,7 +1215,16 @@ void CopyCharsUnsigned(sinkchar* dest, const sourcechar* src, size_t chars) { |
} |
-#if defined(V8_HOST_ARCH_ARM) |
+#if defined(V8_HOST_ARCH_X64) |
+void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, size_t chars) { |
+ uint8_t* limit = dest + chars; |
+ if (sizeof(*dest) == sizeof(*src)) { |
Jakob Kummerow
2016/08/30 13:29:28
Well, this check is pretty pointless, because alwa
|
+ MemCopy(dest, src, chars * sizeof(*dest)); |
+ } else { |
+ while (dest < limit) *dest++ = *src++; |
+ } |
+} |
+#elif defined(V8_HOST_ARCH_ARM) |
void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, size_t chars) { |
switch (static_cast<unsigned>(chars)) { |
case 0: |