@@ -6,18 +6,18 @@ Subject: Override existing V8 Reallocate
66Refs https://chromium-review.googlesource.com/c/v8/v8/+/2007274.
77Reallocate has been implemented by V8 itself, so this function must now
88be overridden. This patch can be removed once the relevant version of V8
9- makes its way into Node.js
9+ makes its way into Node.js.
1010
1111diff --git a/src/node_internals.h b/src/node_internals.h
12- index 0279a4a8274f408049aae5464a7f4559ebe48110..e5d5a6497de3386c7aa70efc1f202f79d9f7567f 100644
12+ index b627ad3ef42835407a83b721a2f78d4128e48327..efea9db2da008be6a1a470cece9d7a04a628c1a8 100644
1313--- a/src/node_internals.h
1414+++ b/src/node_internals.h
1515@@ -115,7 +115,7 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator {
16- void* AllocateUninitialized (size_t size) override
17- { return node::UncheckedMalloc( size); }
18- void Free(void* data, size_t) override { free(data); }
19- - virtual void* Reallocate(void* data, size_t old_size, size_t size) {
20- + virtual void* Reallocate(void* data, size_t old_size, size_t size) override {
21- return static_cast< void*>(
22- UncheckedRealloc<char>(static_cast<char*>(data), size) );
16+ void* Allocate (size_t size) override; // Defined in src/node.cc
17+ void* AllocateUninitialized(size_t size) override;
18+ void Free(void* data, size_t size ) override;
19+ - virtual void* Reallocate(void* data, size_t old_size, size_t size);
20+ + virtual void* Reallocate(void* data, size_t old_size, size_t size) override;
21+ virtual void RegisterPointer( void* data, size_t size) {
22+ total_mem_usage_.fetch_add(size, std::memory_order_relaxed );
2323 }
0 commit comments