diff --git a/DEPS b/DEPS
index 66f4d20..7bd073d 100644
--- a/DEPS
+++ b/DEPS
@@ -14,7 +14,7 @@
      "https://chromium.googlesource.com/external/googletest.git@8245545b6dc9c4703e6496d1efd19e975ad2b038",
 
   "v8":
-    "https://chromium.googlesource.com/v8/v8.git@6988aec61f071a1caec96abae1cf39353a234455",
+    "https://chromium.googlesource.com/v8/v8.git",
 
   "v8/third_party/icu":
     "https://chromium.googlesource.com/chromium/deps/icu46",
diff --git a/fpdfsdk/include/javascript/JS_Runtime.h b/fpdfsdk/include/javascript/JS_Runtime.h
index a1f62b8..5326db6 100644
--- a/fpdfsdk/include/javascript/JS_Runtime.h
+++ b/fpdfsdk/include/javascript/JS_Runtime.h
@@ -7,6 +7,7 @@
 #ifndef _JS_RUNTIME_H_
 #define _JS_RUNTIME_H_
 
+#include "../../../third_party/base/nonstd_unique_ptr.h"
 #include "../../../core/include/fxcrt/fx_basic.h"
 #include "../jsapi/fxjs_v8.h"
 #include "IJavaScript.h"
@@ -14,6 +15,12 @@
 
 class CJS_Context;
 
+class CJS_ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
+    void* Allocate(size_t length) override;
+    void* AllocateUninitialized(size_t length) override;
+    void Free(void* data, size_t length) override;
+};
+
 class CJS_FieldEvent
 {
 public:
@@ -53,15 +60,16 @@
 
 	v8::Handle<v8::Context>							NewJSContext();
 protected:
-	CFX_ArrayTemplate<CJS_Context *>		m_ContextArray;
-	CPDFDoc_Environment *							m_pApp;
-	CPDFSDK_Document *						m_pDocument;
+	CFX_ArrayTemplate<CJS_Context*>		m_ContextArray;
+	CPDFDoc_Environment*							m_pApp;
+	CPDFSDK_Document*						m_pDocument;
 	FX_BOOL									m_bBlocking;
+	FX_BOOL									m_bRegistered;
 	CJS_FieldEvent*							m_pFieldEventPath;
 
-	v8::Isolate*								m_isolate;
-	v8::Persistent<v8::Context>						m_context;
-	FX_BOOL									m_bRegistered;
+	v8::Isolate* m_isolate;
+	nonstd::unique_ptr<CJS_ArrayBufferAllocator> m_pArrayBufferAllocator;
+	v8::Persistent<v8::Context> m_context;
 };
 
 #endif //_JS_RUNTIME_H_
diff --git a/fpdfsdk/src/javascript/JS_Runtime.cpp b/fpdfsdk/src/javascript/JS_Runtime.cpp
index 4ff3c0b..e2f5006 100644
--- a/fpdfsdk/src/javascript/JS_Runtime.cpp
+++ b/fpdfsdk/src/javascript/JS_Runtime.cpp
@@ -91,17 +91,32 @@
 	}
 }
 
+void* CJS_ArrayBufferAllocator::Allocate(size_t length) {
+    return calloc(1, length);
+}
+
+void* CJS_ArrayBufferAllocator::AllocateUninitialized(size_t length) {
+    return malloc(length);
+}
+
+void CJS_ArrayBufferAllocator::Free(void* data, size_t length) {
+    free(data);
+}
+
 /* ------------------------------ CJS_Runtime ------------------------------ */
 
 CJS_Runtime::CJS_Runtime(CPDFDoc_Environment * pApp) : 
 	m_pApp(pApp),
 	m_pDocument(NULL),
 	m_bBlocking(FALSE),
-	m_pFieldEventPath(NULL),
-	m_bRegistered(FALSE)
+	m_bRegistered(FALSE),
+	m_pFieldEventPath(NULL)
 {
-	m_isolate = v8::Isolate::New();
-	//m_isolate->Enter();
+	m_pArrayBufferAllocator.reset(new CJS_ArrayBufferAllocator());
+
+	v8::Isolate::CreateParams params;
+	params.array_buffer_allocator = m_pArrayBufferAllocator.get();
+	m_isolate = v8::Isolate::New(params);
 
 	InitJSObjects();
 
