| Index: src/utils.cc
|
| diff --git a/src/utils.cc b/src/utils.cc
|
| index 4077ae7217a427e626b813aa88e31226ff1c001b..c46028f05946f1268c182bf8573d64794e6d2e25 100644
|
| --- a/src/utils.cc
|
| +++ b/src/utils.cc
|
| @@ -368,7 +368,7 @@ static void MemMoveWrapper(void* dest, const void* src, size_t size) {
|
| static MemMoveFunction memmove_function = &MemMoveWrapper;
|
|
|
| // Defined in codegen-ia32.cc.
|
| -MemMoveFunction CreateMemMoveFunction();
|
| +MemMoveFunction CreateMemMoveFunction(Isolate* isolate);
|
|
|
| // Copy memory area to disjoint memory area.
|
| void MemMove(void* dest, const void* src, size_t size) {
|
| @@ -392,29 +392,38 @@ MemCopyUint8Function memcopy_uint8_function = &MemCopyUint8Wrapper;
|
| MemCopyUint16Uint8Function memcopy_uint16_uint8_function =
|
| &MemCopyUint16Uint8Wrapper;
|
| // Defined in codegen-arm.cc.
|
| -MemCopyUint8Function CreateMemCopyUint8Function(MemCopyUint8Function stub);
|
| +MemCopyUint8Function CreateMemCopyUint8Function(Isolate* isolate,
|
| + MemCopyUint8Function stub);
|
| MemCopyUint16Uint8Function CreateMemCopyUint16Uint8Function(
|
| - MemCopyUint16Uint8Function stub);
|
| + Isolate* isolate, MemCopyUint16Uint8Function stub);
|
|
|
| #elif V8_OS_POSIX && V8_HOST_ARCH_MIPS
|
| MemCopyUint8Function memcopy_uint8_function = &MemCopyUint8Wrapper;
|
| // Defined in codegen-mips.cc.
|
| -MemCopyUint8Function CreateMemCopyUint8Function(MemCopyUint8Function stub);
|
| +MemCopyUint8Function CreateMemCopyUint8Function(Isolate* isolate,
|
| + MemCopyUint8Function stub);
|
| #endif
|
|
|
|
|
| -void init_memcopy_functions() {
|
| +static bool g_memcopy_functions_initialized = false;
|
| +
|
| +
|
| +void init_memcopy_functions(Isolate* isolate) {
|
| + if (g_memcopy_functions_initialized) return;
|
| + g_memcopy_functions_initialized = true;
|
| #if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87
|
| - MemMoveFunction generated_memmove = CreateMemMoveFunction();
|
| + MemMoveFunction generated_memmove = CreateMemMoveFunction(isolate);
|
| if (generated_memmove != NULL) {
|
| memmove_function = generated_memmove;
|
| }
|
| #elif V8_OS_POSIX && V8_HOST_ARCH_ARM
|
| - memcopy_uint8_function = CreateMemCopyUint8Function(&MemCopyUint8Wrapper);
|
| + memcopy_uint8_function =
|
| + CreateMemCopyUint8Function(isolate, &MemCopyUint8Wrapper);
|
| memcopy_uint16_uint8_function =
|
| - CreateMemCopyUint16Uint8Function(&MemCopyUint16Uint8Wrapper);
|
| + CreateMemCopyUint16Uint8Function(isolate, &MemCopyUint16Uint8Wrapper);
|
| #elif V8_OS_POSIX && V8_HOST_ARCH_MIPS
|
| - memcopy_uint8_function = CreateMemCopyUint8Function(&MemCopyUint8Wrapper);
|
| + memcopy_uint8_function =
|
| + CreateMemCopyUint8Function(isolate, &MemCopyUint8Wrapper);
|
| #endif
|
| }
|
|
|
|
|