| Index: src/utils.h
 | 
| diff --git a/src/utils.h b/src/utils.h
 | 
| index 525c6f87d3d96fbd8504a00474981675c1c1f74d..b7415226a7f82de46f317646b8a25c9d17303b60 100644
 | 
| --- a/src/utils.h
 | 
| +++ b/src/utils.h
 | 
| @@ -1324,6 +1324,9 @@ INLINE(void CopyCharsUnsigned(uint16_t* dest, const uint16_t* src, int chars));
 | 
|  #elif defined(V8_HOST_ARCH_MIPS)
 | 
|  INLINE(void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, int chars));
 | 
|  INLINE(void CopyCharsUnsigned(uint16_t* dest, const uint16_t* src, int chars));
 | 
| +#elif defined(V8_HOST_ARCH_PPC)
 | 
| +INLINE(void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, int chars));
 | 
| +INLINE(void CopyCharsUnsigned(uint16_t* dest, const uint16_t* src, int chars));
 | 
|  #endif
 | 
|  
 | 
|  // Copy from 8bit/16bit chars to 8bit/16bit chars.
 | 
| @@ -1483,6 +1486,136 @@ void CopyCharsUnsigned(uint16_t* dest, const uint16_t* src, int chars) {
 | 
|      MemCopy(dest, src, chars * sizeof(*dest));
 | 
|    }
 | 
|  }
 | 
| +#elif defined(V8_HOST_ARCH_PPC)
 | 
| +#define CASE(n)           \
 | 
| +  case n:                 \
 | 
| +    memcpy(dest, src, n); \
 | 
| +    break
 | 
| +void CopyCharsUnsigned(uint8_t* dest, const uint8_t* src, int chars) {
 | 
| +  switch (static_cast<unsigned>(chars)) {
 | 
| +    case 0:
 | 
| +      break;
 | 
| +    case 1:
 | 
| +      *dest = *src;
 | 
| +      break;
 | 
| +      CASE(2);
 | 
| +      CASE(3);
 | 
| +      CASE(4);
 | 
| +      CASE(5);
 | 
| +      CASE(6);
 | 
| +      CASE(7);
 | 
| +      CASE(8);
 | 
| +      CASE(9);
 | 
| +      CASE(10);
 | 
| +      CASE(11);
 | 
| +      CASE(12);
 | 
| +      CASE(13);
 | 
| +      CASE(14);
 | 
| +      CASE(15);
 | 
| +      CASE(16);
 | 
| +      CASE(17);
 | 
| +      CASE(18);
 | 
| +      CASE(19);
 | 
| +      CASE(20);
 | 
| +      CASE(21);
 | 
| +      CASE(22);
 | 
| +      CASE(23);
 | 
| +      CASE(24);
 | 
| +      CASE(25);
 | 
| +      CASE(26);
 | 
| +      CASE(27);
 | 
| +      CASE(28);
 | 
| +      CASE(29);
 | 
| +      CASE(30);
 | 
| +      CASE(31);
 | 
| +      CASE(32);
 | 
| +      CASE(33);
 | 
| +      CASE(34);
 | 
| +      CASE(35);
 | 
| +      CASE(36);
 | 
| +      CASE(37);
 | 
| +      CASE(38);
 | 
| +      CASE(39);
 | 
| +      CASE(40);
 | 
| +      CASE(41);
 | 
| +      CASE(42);
 | 
| +      CASE(43);
 | 
| +      CASE(44);
 | 
| +      CASE(45);
 | 
| +      CASE(46);
 | 
| +      CASE(47);
 | 
| +      CASE(48);
 | 
| +      CASE(49);
 | 
| +      CASE(50);
 | 
| +      CASE(51);
 | 
| +      CASE(52);
 | 
| +      CASE(53);
 | 
| +      CASE(54);
 | 
| +      CASE(55);
 | 
| +      CASE(56);
 | 
| +      CASE(57);
 | 
| +      CASE(58);
 | 
| +      CASE(59);
 | 
| +      CASE(60);
 | 
| +      CASE(61);
 | 
| +      CASE(62);
 | 
| +      CASE(63);
 | 
| +      CASE(64);
 | 
| +    default:
 | 
| +      memcpy(dest, src, chars);
 | 
| +      break;
 | 
| +  }
 | 
| +}
 | 
| +#undef CASE
 | 
| +
 | 
| +#define CASE(n)               \
 | 
| +  case n:                     \
 | 
| +    memcpy(dest, src, n * 2); \
 | 
| +    break
 | 
| +void CopyCharsUnsigned(uint16_t* dest, const uint16_t* src, int chars) {
 | 
| +  switch (static_cast<unsigned>(chars)) {
 | 
| +    case 0:
 | 
| +      break;
 | 
| +    case 1:
 | 
| +      *dest = *src;
 | 
| +      break;
 | 
| +      CASE(2);
 | 
| +      CASE(3);
 | 
| +      CASE(4);
 | 
| +      CASE(5);
 | 
| +      CASE(6);
 | 
| +      CASE(7);
 | 
| +      CASE(8);
 | 
| +      CASE(9);
 | 
| +      CASE(10);
 | 
| +      CASE(11);
 | 
| +      CASE(12);
 | 
| +      CASE(13);
 | 
| +      CASE(14);
 | 
| +      CASE(15);
 | 
| +      CASE(16);
 | 
| +      CASE(17);
 | 
| +      CASE(18);
 | 
| +      CASE(19);
 | 
| +      CASE(20);
 | 
| +      CASE(21);
 | 
| +      CASE(22);
 | 
| +      CASE(23);
 | 
| +      CASE(24);
 | 
| +      CASE(25);
 | 
| +      CASE(26);
 | 
| +      CASE(27);
 | 
| +      CASE(28);
 | 
| +      CASE(29);
 | 
| +      CASE(30);
 | 
| +      CASE(31);
 | 
| +      CASE(32);
 | 
| +    default:
 | 
| +      memcpy(dest, src, chars * 2);
 | 
| +      break;
 | 
| +  }
 | 
| +}
 | 
| +#undef CASE
 | 
|  #endif
 | 
|  
 | 
|  
 | 
| 
 |