Index: src/utils.h |
diff --git a/src/utils.h b/src/utils.h |
index 6e5e77a13eb84da5750c1100f564933c67f85a0f..07b6490bf363dd4727763eb58dcc26c989dee48b 100644 |
--- a/src/utils.h |
+++ b/src/utils.h |
@@ -1287,20 +1287,10 @@ template <typename sourcechar, typename sinkchar> |
void CopyCharsUnsigned(sinkchar* dest, const sourcechar* src, int chars) { |
sinkchar* limit = dest + chars; |
#ifdef V8_HOST_CAN_READ_UNALIGNED |
- if (sizeof(*dest) == sizeof(*src)) { |
- if (chars >= static_cast<int>(kMinComplexMemCopy / sizeof(*dest))) { |
- MemCopy(dest, src, chars * sizeof(*dest)); |
- return; |
- } |
- // Number of characters in a uintptr_t. |
- static const int kStepSize = sizeof(uintptr_t) / sizeof(*dest); // NOLINT |
- DCHECK(dest + kStepSize > dest); // Check for overflow. |
- while (dest + kStepSize <= limit) { |
- *reinterpret_cast<uintptr_t*>(dest) = |
- *reinterpret_cast<const uintptr_t*>(src); |
- dest += kStepSize; |
- src += kStepSize; |
- } |
+ if ((sizeof(*dest) == sizeof(*src)) && |
+ (chars >= static_cast<int>(kMinComplexMemCopy / sizeof(*dest)))) { |
+ MemCopy(dest, src, chars * sizeof(*dest)); |
+ return; |
} |
#endif |
while (dest < limit) { |