summaryrefslogtreecommitdiffstats
path: root/gin
diff options
context:
space:
mode:
Diffstat (limited to 'gin')
-rw-r--r--gin/isolate_holder.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
index 8655c4b..812be4e 100644
--- a/gin/isolate_holder.cc
+++ b/gin/isolate_holder.cc
@@ -18,6 +18,7 @@
namespace gin {
namespace {
+v8::ArrayBuffer::Allocator* g_array_buffer_allocator = NULL;
bool GenerateEntropy(unsigned char* buffer, size_t amount) {
base::RandBytes(buffer, amount);
@@ -46,7 +47,7 @@ IsolateHolder::IsolateHolder()
base::SysInfo::AmountOfVirtualMemory(),
base::SysInfo::NumberOfProcessors());
v8::SetResourceConstraints(isolate_, &constraints);
- Init(ArrayBufferAllocator::SharedInstance());
+ Init(g_array_buffer_allocator);
}
IsolateHolder::IsolateHolder(v8::Isolate* isolate,
@@ -70,6 +71,7 @@ void IsolateHolder::Initialize(ScriptMode mode,
return;
v8::V8::InitializePlatform(V8Platform::Get());
v8::V8::SetArrayBufferAllocator(allocator);
+ g_array_buffer_allocator = allocator;
if (mode == gin::IsolateHolder::kStrictMode) {
static const char v8_flags[] = "--use_strict";
v8::V8::SetFlagsFromString(v8_flags, sizeof(v8_flags) - 1);