diff options
Diffstat (limited to 'deps/v8/test/cctest/test-icache.cc')
-rw-r--r-- | deps/v8/test/cctest/test-icache.cc | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/deps/v8/test/cctest/test-icache.cc b/deps/v8/test/cctest/test-icache.cc index 529701c227..f68789df2c 100644 --- a/deps/v8/test/cctest/test-icache.cc +++ b/deps/v8/test/cctest/test-icache.cc @@ -189,15 +189,23 @@ TEST(TestFlushICacheOfWritableAndExecutable) { CHECK(SetPermissions(GetPlatformPageAllocator(), buffer->start(), buffer->size(), v8::PageAllocator::kReadWriteExecute)); - SwitchMemoryPermissionsToWritable(); - FloodWithInc(isolate, buffer.get()); - FlushInstructionCache(buffer->start(), buffer->size()); - SwitchMemoryPermissionsToExecutable(); + { +#if defined(V8_OS_MACOSX) && defined(V8_HOST_ARCH_ARM64) + // Make sure to switch memory to writable on M1 hardware. + wasm::CodeSpaceWriteScope code_space_write_scope(nullptr); +#endif + FloodWithInc(isolate, buffer.get()); + FlushInstructionCache(buffer->start(), buffer->size()); + } CHECK_EQ(23 + kNumInstr, f.Call(23)); // Call into generated code. - SwitchMemoryPermissionsToWritable(); - FloodWithNop(isolate, buffer.get()); - FlushInstructionCache(buffer->start(), buffer->size()); - SwitchMemoryPermissionsToExecutable(); + { +#if defined(V8_OS_MACOSX) && defined(V8_HOST_ARCH_ARM64) + // Make sure to switch memory to writable on M1 hardware. + wasm::CodeSpaceWriteScope code_space_write_scope(nullptr); +#endif + FloodWithNop(isolate, buffer.get()); + FlushInstructionCache(buffer->start(), buffer->size()); + } CHECK_EQ(23, f.Call(23)); // Call into generated code. } } |