diff --git a/common.gypi b/common.gypi index ed0d11a619c357..af5098d898109d 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.7', + 'v8_embedder_string': '-node.8', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/src/trap-handler/handler-outside-simulator.cc b/deps/v8/src/trap-handler/handler-outside-simulator.cc index 179eab0659f923..286d7c8b9a8286 100644 --- a/deps/v8/src/trap-handler/handler-outside-simulator.cc +++ b/deps/v8/src/trap-handler/handler-outside-simulator.cc @@ -11,6 +11,17 @@ #define SYMBOL(name) #name #endif // !V8_OS_DARWIN +#if defined(_MSC_VER) && !defined(__clang__) +// MSVC does not accept inline assembly +#include +extern "C" uintptr_t ProbeMemory(uintptr_t address, uintptr_t pc) { + // @pc parameter is unused. + // This intrinsic guarantees that a load from address will be done. + __iso_volatile_load8(reinterpret_cast(address)); + return 0; +} +extern "C" void v8_probe_memory_continuation() {} +#else // Define the ProbeMemory function declared in trap-handler-simulators.h. asm( ".globl " SYMBOL(ProbeMemory) " \n" @@ -35,3 +46,4 @@ asm( SYMBOL(v8_probe_memory_continuation) ": \n" // If the trap handler continues here, it wrote the landing pad in %rax. " ret \n"); +#endif