1- diff -urN node-22.16.0/v8-function-callback.h node/v8-function-callback.h
2- --- node-22.16.0/v8-function-callback.h 2025-07-16 14:33:02
3- +++ node/v8-function-callback.h 2025-07-16 14:48:45
4- @@ -314,7 +314,7 @@
5- if (V8_UNLIKELY(handle.IsEmpty())) {
6- SetTheHole();
7- } else {
8- - SetInternal(handle.ptr());
9- + SetInternal(api_internal::LocalFromGlobalReference(handle.ptr()));
10- }
11- }
12-
13- @@ -325,7 +325,7 @@
14- #ifdef V8_ENABLE_CHECKS
15- internal::VerifyHandleIsNonEmpty(handle.IsEmpty());
16- #endif // V8_ENABLE_CHECKS
17- - SetInternal(handle.ptr());
18- + SetInternal(api_internal::LocalFromGlobalReference(handle.ptr()));
19- }
20-
21- template <typename T>
221diff -urN node-22.16.0/v8-local-handle.h node/v8-local-handle.h
23- --- node-22.16.0/v8-local-handle.h 2025-07-16 14:33:02
24- +++ node/v8-local-handle.h 2025-07-16 14:43:55
25- @@ -80,6 +80,7 @@
26- namespace api_internal {
27- // Called when ToLocalChecked is called on an empty Local.
28- V8_EXPORT void ToLocalEmpty();
29- + V8_EXPORT internal::Address LocalFromGlobalReference(internal::Address global_reference);
30- } // namespace api_internal
31-
32- /**
33- @@ -341,7 +342,9 @@
34-
35- V8_INLINE static Local<T> New(Isolate* isolate,
36- const PersistentBase<T>& that) {
37- - return New(isolate, that.template value<T, true>());
38- + T* value = that.template value<T, true>();
39- + internal::Address address = api_internal::LocalFromGlobalReference(reinterpret_cast<internal::Address>(value));
40- + return New(isolate, address);
41- }
42-
43- V8_INLINE static Local<T> New(Isolate* isolate,
44- @@ -717,7 +720,8 @@
2+ --- node-22.16.0/v8-local-handle.h 2025-07-18 10:49:05
3+ +++ node/v8-local-handle.h 2025-07-31 16:44:50
4+ @@ -717,7 +717,8 @@
455 template <class T>
466 V8_INLINE Local<T> Escape(Local<T> value) {
477 #ifdef V8_ENABLE_DIRECT_LOCAL
@@ -52,8 +12,8 @@ diff -urN node-22.16.0/v8-local-handle.h node/v8-local-handle.h
5212 if (value.IsEmpty()) return value;
5313 return Local<T>::FromSlot(EscapeSlot(value.slot()));
5414diff -urN node-22.16.0/v8-object.h node/v8-object.h
55- --- node-22.16.0/v8-object.h 2025-07-16 14:33:02
56- +++ node/v8-object.h 2025-07-16 14:44:57
15+ --- node-22.16.0/v8-object.h 2025-07-18 10:49:05
16+ +++ node/v8-object.h 2025-07-18 10:49:05
5717@@ -739,69 +739,15 @@
5818 // --- Implementation ---
5919
@@ -125,8 +85,8 @@ diff -urN node-22.16.0/v8-object.h node/v8-object.h
12585 }
12686
12787diff -urN node-22.16.0/v8-value.h node/v8-value.h
128- --- node-22.16.0/v8-value.h 2025-07-16 14:33:02
129- +++ node/v8-value.h 2025-07-16 14:47:53
88+ --- node-22.16.0/v8-value.h 2025-07-18 10:49:05
89+ +++ node/v8-value.h 2025-07-18 10:49:05
13090@@ -524,11 +524,7 @@
13191 }
13292
@@ -200,8 +160,8 @@ diff -urN node-22.16.0/v8-value.h node/v8-value.h
200160
201161 bool Value::QuickIsString() const {
202162diff -urN node-22.16.0/v8config.h node/v8config.h
203- --- node-22.16.0/v8config.h 2025-07-16 14:33:02
204- +++ node/v8config.h 2025-07-16 14:35:09
163+ --- node-22.16.0/v8config.h 2025-07-18 10:49:05
164+ +++ node/v8config.h 2025-07-18 10:49:05
205165@@ -768,14 +768,14 @@
206166 // The V8_HOST_ARCH_* macros correspond to the architecture on which V8, as a
207167 // virtual machine and compiler, runs. Don't confuse this with the architecture
0 commit comments