From 41933c59d2c938cc15216c8ffd7387e8dcf1c71d Mon Sep 17 00:00:00 2001
From: Alena Khineika <alena.khineika@gmail.com>
Date: Thu, 30 Jun 2022 11:39:02 +0200
Subject: [PATCH 1/2] bootstrap: move global initialization to js

---
 lib/internal/bootstrap/node.js | 1 +
 src/node.cc                    | 3 ---
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index 0f72e3e67af306..ca5ff569a14117 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -402,6 +402,7 @@ function setupGlobalProxy() {
     enumerable: false,
     configurable: true
   });
+  globalThis.global = globalThis;
 }
 
 function setupBuffer() {
diff --git a/src/node.cc b/src/node.cc
index 78e93c74d3c3c4..b94cbca3097296 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -343,9 +343,6 @@ MaybeLocal<Value> Environment::BootstrapNode() {
   EscapableHandleScope scope(isolate_);
 
   Local<Object> global = context()->Global();
-  // TODO(joyeecheung): this can be done in JS land now.
-  global->Set(context(), FIXED_ONE_BYTE_STRING(isolate_, "global"), global)
-      .Check();
 
   // process, require, internalBinding, primordials
   std::vector<Local<String>> node_params = {

From c545feb176425d633737dfe346ba18de7f843e8a Mon Sep 17 00:00:00 2001
From: Alena Khineika <alena.khineika@gmail.com>
Date: Thu, 30 Jun 2022 12:18:35 +0200
Subject: [PATCH 2/2] bootstrap: remove not used variable

---
 src/node.cc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/node.cc b/src/node.cc
index b94cbca3097296..2ace18b72c667e 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -342,8 +342,6 @@ MaybeLocal<Value> Environment::BootstrapInternalLoaders() {
 MaybeLocal<Value> Environment::BootstrapNode() {
   EscapableHandleScope scope(isolate_);
 
-  Local<Object> global = context()->Global();
-
   // process, require, internalBinding, primordials
   std::vector<Local<String>> node_params = {
       process_string(),