* chore: bump chromium in DEPS to 644eb098aeffb5e799ab3571eac0d35fa24ef641 * chore: update chromium patches * chore: update v8 patches * chore: bump chromium in DEPS to 9eecb7a9f652bbf84f6437b49c70922b65b38bf3 * chore: update patches
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.8 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
From: Shelley Vohr <shelley.vohr@gmail.com>
 | 
						|
Date: Mon, 22 Oct 2018 10:47:11 -0700
 | 
						|
Subject: add_realloc.patch
 | 
						|
 | 
						|
Blink overrides ArrayBuffer's allocator with its own one, while Node simply
 | 
						|
uses malloc and free, so we need to use v8's allocator in Node. As part of the
 | 
						|
10.6.0 upgrade, we needed to make SerializerDelegate accept an allocator
 | 
						|
argument in its constructor, and override ReallocateBufferMemory and
 | 
						|
FreeBufferMemory to use the allocator. We cannot simply allocate and then memcpy
 | 
						|
when we override ReallocateBufferMemory, so we therefore need to implement
 | 
						|
Realloc on the v8 side.
 | 
						|
 | 
						|
diff --git a/include/v8.h b/include/v8.h
 | 
						|
index ca96c32088df3983c796a807b2ce76017e0fa2df..db972ab5ce249927d9f6e738263600c30c2e176c 100644
 | 
						|
--- a/include/v8.h
 | 
						|
+++ b/include/v8.h
 | 
						|
@@ -4651,6 +4651,13 @@ class V8_EXPORT ArrayBuffer : public Object {
 | 
						|
      */
 | 
						|
     virtual void* AllocateUninitialized(size_t length) = 0;
 | 
						|
 
 | 
						|
+    /**
 | 
						|
+     * Free the memory block of size |length|, pointed to by |data|.
 | 
						|
+     * That memory must be previously allocated by |Allocate| and not yet freed
 | 
						|
+     * with a call to |Free| or |Realloc|
 | 
						|
+     */
 | 
						|
+    virtual void* Realloc(void* data, size_t length);
 | 
						|
+
 | 
						|
     /**
 | 
						|
      * Free the memory block of size |length|, pointed to by |data|.
 | 
						|
      * That memory is guaranteed to be previously allocated by |Allocate|.
 | 
						|
diff --git a/src/api/api.cc b/src/api/api.cc
 | 
						|
index e02c74416b81c67e2bcdfa6bca5d06efd261153a..c41692ca40057efa39440239cda217ae1e39afe8 100644
 | 
						|
--- a/src/api/api.cc
 | 
						|
+++ b/src/api/api.cc
 | 
						|
@@ -507,6 +507,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {
 | 
						|
   i::V8::SetSnapshotBlob(snapshot_blob);
 | 
						|
 }
 | 
						|
 
 | 
						|
+void* v8::ArrayBuffer::Allocator::Realloc(void* data, size_t length) {
 | 
						|
+  UNIMPLEMENTED();
 | 
						|
+}
 | 
						|
+
 | 
						|
 namespace {
 | 
						|
 
 | 
						|
 class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
 |