Repository: electron/electron
Pull request: build: remove deps_add_v8_object_setinternalfieldfornodecore.patch

Backport of #46992

See that PR for details.


Notes: none.

Changed files:
filename: patches/v8/.patches
patch: @@ -1,2 +1 @@
 chore_allow_customizing_microtask_policy_per_context.patch
-deps_add_v8_object_setinternalfieldfornodecore.patch

filename: patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch
patch: @@ -1,87 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Shelley Vohr <shelley.vohr@gmail.com>
-Date: Tue, 14 Nov 2023 17:48:11 +0100
-Subject: deps: add v8::Object::SetInternalFieldForNodeCore()
-
-This is a non-ABI breaking solution added by Node.js in v20.x for:
-
-* https://chromium-review.googlesource.com/c/v8/v8/+/4827307
-* https://chromium-review.googlesource.com/c/v8/v8/+/4707972
-
-which are necessary for backporting the vm-related memory fixes in https://github.com/nodejs/node/pull/48510.
-
-diff --git a/include/v8-object.h b/include/v8-object.h
-index 3e57ae8efe33f326ef0e5d609c311d4be5b8afd6..dc521d39c2280dfc3217e97c1e413b2be9b4f7ff 100644
---- a/include/v8-object.h
-+++ b/include/v8-object.h
-@@ -22,6 +22,8 @@ class Function;
- class FunctionTemplate;
- template <typename T>
- class PropertyCallbackInfo;
-+class Module;
-+class UnboundScript;
- 
- /**
-  * A private symbol
-@@ -532,6 +534,21 @@ class V8_EXPORT Object : public Value {
-         index);
-   }
- 
-+  /**
-+   * Warning: These are Node.js-specific extentions used to avoid breaking
-+   * changes in Node.js v20.x. They do not exist in V8 upstream and will
-+   * not exist in Node.js v21.x. Node.js embedders and addon authors should
-+   * not use them from v20.x.
-+   */
-+#ifndef NODE_WANT_INTERNALS
-+  V8_DEPRECATED("This extention should only be used by Node.js core")
-+#endif
-+  void SetInternalFieldForNodeCore(int index, Local<Module> value);
-+#ifndef NODE_WANT_INTERNALS
-+  V8_DEPRECATED("This extention should only be used by Node.js core")
-+#endif
-+  void SetInternalFieldForNodeCore(int index, Local<UnboundScript> value);
-+
-   /** Same as above, but works for TracedReference. */
-   V8_INLINE static void* GetAlignedPointerFromInternalField(
-       const BasicTracedReference<Object>& object, int index) {
-diff --git a/src/api/api.cc b/src/api/api.cc
-index 62a71b9cb7594e5fcc86f32d7af160c32b8e8944..0b2d5bfa9480ea90eb0adb89132505b8cabafc08 100644
---- a/src/api/api.cc
-+++ b/src/api/api.cc
-@@ -6313,14 +6313,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
-       i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate));
- }
- 
--void v8::Object::SetInternalField(int index, v8::Local<Data> value) {
--  auto obj = Utils::OpenDirectHandle(this);
-+template<typename T>
-+void SetInternalFieldImpl(v8::Object* receiver, int index, v8::Local<T> value) {
-+  auto obj = Utils::OpenDirectHandle(receiver);
-   const char* location = "v8::Object::SetInternalField()";
-   if (!InternalFieldOK(obj, index, location)) return;
-   auto val = Utils::OpenDirectHandle(*value);
-   i::Cast<i::JSObject>(obj)->SetEmbedderField(index, *val);
- }
- 
-+void v8::Object::SetInternalField(int index, v8::Local<Data> value) {
-+  SetInternalFieldImpl(this, index, value);
-+}
-+
-+/**
-+ * These are Node.js-specific extentions used to avoid breaking changes in
-+ * Node.js v20.x.
-+ */
-+void v8::Object::SetInternalFieldForNodeCore(int index,
-+                                             v8::Local<Module> value) {
-+  SetInternalFieldImpl(this, index, value);
-+}
-+
-+void v8::Object::SetInternalFieldForNodeCore(int index,
-+                                             v8::Local<UnboundScript> value) {
-+  SetInternalFieldImpl(this, index, value);
-+}
-+
- void* v8::Object::SlowGetAlignedPointerFromInternalField(v8::Isolate* isolate,
-                                                          int index) {
-   auto obj = Utils::OpenDirectHandle(this);