diff --git a/src/node.cc b/src/node.cc index b0ba02a559abdc..f763f67b368f05 100644 --- a/src/node.cc +++ b/src/node.cc @@ -3685,6 +3685,12 @@ void Init(int* argc, V8::SetFlagsFromString(expose_debug_as, sizeof(expose_debug_as) - 1); } + // Unconditionally force typed arrays to allocate outside the v8 heap. This + // is to prevent memory pointers from being moved around that are returned by + // Buffer::Data(). + const char no_typed_array_heap[] = "--typed_array_max_size_in_heap=0"; + V8::SetFlagsFromString(no_typed_array_heap, sizeof(no_typed_array_heap) - 1); + if (!use_debug_agent) { RegisterDebugSignalHandler(); }