Browse Source

chore: bump node to v12.16.3 (master) (#23327)

Co-authored-by: Shelley Vohr <[email protected]>
Electron Bot 5 years ago
parent
commit
448017b9ee

+ 1 - 1
DEPS

@@ -14,7 +14,7 @@ vars = {
   'chromium_version':
     '7ff3897f3104563763ef26ad940d4e988d7245dd',
   'node_version':
-    'v12.16.2',
+    'v12.16.3',
   'nan_version':
     '2c4ee8a32a299eada3cd6e468bbd0a473bfea96d',
 

+ 1 - 0
patches/node/.patches

@@ -35,3 +35,4 @@ avoid_calling_deprecated_method.patch
 remove_deprecated_wasm_module_type_check.patch
 weakrefs_rename_finalizationgroup_to_finalizationregistry_for_js.patch
 weakrefs_split_out_finalizationregistry_cleanupsome.patch
+fix_window_c-ares_incompatibilities.patch

+ 22 - 6
patches/node/build_add_gn_build_files.patch

@@ -389,10 +389,10 @@ index 0000000000000000000000000000000000000000..2d8952a1d23af0ab4b3e5de0e56ec1e3
 +}
 diff --git a/deps/cares/BUILD.gn b/deps/cares/BUILD.gn
 new file mode 100644
-index 0000000000000000000000000000000000000000..0b7737ca061ae6a12647f5d7bf0c2d1bc7d5bdd9
+index 0000000000000000000000000000000000000000..adce7f6aa905540da7eb8042606a285b260fefc4
 --- /dev/null
 +++ b/deps/cares/BUILD.gn
-@@ -0,0 +1,126 @@
+@@ -0,0 +1,131 @@
 +config("cares_config") {
 +  include_dirs = [ "include" ]
 +}
@@ -418,6 +418,7 @@ index 0000000000000000000000000000000000000000..0b7737ca061ae6a12647f5d7bf0c2d1b
 +    "src/ares__close_sockets.c",
 +    "src/ares__get_hostent.c",
 +    "src/ares__read_line.c",
++    "src/ares__readaddrinfo.c",
 +    "src/ares__timeval.c",
 +    "src/ares_android.c",
 +    "src/ares_cancel.c",
@@ -431,7 +432,9 @@ index 0000000000000000000000000000000000000000..0b7737ca061ae6a12647f5d7bf0c2d1b
 +    "src/ares_fds.c",
 +    "src/ares_free_hostent.c",
 +    "src/ares_free_string.c",
++    "src/ares_freeaddrinfo.c",
 +    "src/ares_getenv.h",
++    "src/ares_getaddrinfo.c",
 +    "src/ares_gethostbyaddr.c",
 +    "src/ares_gethostbyname.c",
 +    "src/ares_getnameinfo.c",
@@ -449,6 +452,7 @@ index 0000000000000000000000000000000000000000..0b7737ca061ae6a12647f5d7bf0c2d1b
 +    "src/ares_nowarn.c",
 +    "src/ares_nowarn.h",
 +    "src/ares_options.c",
++    "src/ares__parse_into_addrinfo.c",
 +    "src/ares_parse_a_reply.c",
 +    "src/ares_parse_aaaa_reply.c",
 +    "src/ares_parse_mx_reply.c",
@@ -465,6 +469,7 @@ index 0000000000000000000000000000000000000000..0b7737ca061ae6a12647f5d7bf0c2d1b
 +    "src/ares_search.c",
 +    "src/ares_send.c",
 +    "src/ares_setup.h",
++    "src/ares__sortaddrinfo.c",
 +    "src/ares_strcasecmp.c",
 +    "src/ares_strcasecmp.h",
 +    "src/ares_strdup.c",
@@ -937,10 +942,10 @@ index 0000000000000000000000000000000000000000..f13b471d17128468bed06e66bd03a2ea
 +}
 diff --git a/filenames.json b/filenames.json
 new file mode 100644
-index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4fd1fb42f5
+index 0000000000000000000000000000000000000000..13c7354ae7e8fe0bca3ba4c03b0e59f0d06b1558
 --- /dev/null
 +++ b/filenames.json
-@@ -0,0 +1,487 @@
+@@ -0,0 +1,498 @@
 +// This file is automatically generated by generate_gn_filenames_json.py
 +// DO NOT EDIT
 +{
@@ -963,8 +968,12 @@ index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4f
 +        "//v8/include/cppgc/allocation.h",
 +        "//v8/include/cppgc/garbage-collected.h",
 +        "//v8/include/cppgc/heap.h",
++        "//v8/include/cppgc/liveness-broker.h",
++        "//v8/include/cppgc/macros.h",
 +        "//v8/include/cppgc/member.h",
++        "//v8/include/cppgc/persistent.h",
 +        "//v8/include/cppgc/platform.h",
++        "//v8/include/cppgc/prefinalizer.h",
 +        "//v8/include/cppgc/source-location.h",
 +        "//v8/include/cppgc/trace-trait.h",
 +        "//v8/include/cppgc/type-traits.h",
@@ -976,9 +985,13 @@ index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4f
 +      "files": [
 +        "//v8/include/cppgc/internal/accessors.h",
 +        "//v8/include/cppgc/internal/api-constants.h",
++        "//v8/include/cppgc/internal/compiler-specific.h",
 +        "//v8/include/cppgc/internal/finalizer-trait.h",
 +        "//v8/include/cppgc/internal/gc-info.h",
-+        "//v8/include/cppgc/internal/pointer-policies.h"
++        "//v8/include/cppgc/internal/logging.h",
++        "//v8/include/cppgc/internal/persistent-node.h",
++        "//v8/include/cppgc/internal/pointer-policies.h",
++        "//v8/include/cppgc/internal/prefinalizer-handler.h"
 +      ]
 +    },
 +    {
@@ -1044,6 +1057,7 @@ index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4f
 +    "lib/internal/bootstrap/switches/is_not_main_thread.js",
 +    "lib/internal/per_context/primordials.js",
 +    "lib/internal/per_context/domexception.js",
++    "lib/internal/per_context/messageport.js",
 +    "lib/async_hooks.js",
 +    "lib/assert.js",
 +    "lib/buffer.js",
@@ -1145,6 +1159,7 @@ index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4f
 +    "lib/internal/fs/utils.js",
 +    "lib/internal/fs/watchers.js",
 +    "lib/internal/http.js",
++    "lib/internal/histogram.js",
 +    "lib/internal/idna.js",
 +    "lib/internal/inspector_async_hook.js",
 +    "lib/internal/js_stream_socket.js",
@@ -1267,6 +1282,7 @@ index 0000000000000000000000000000000000000000..6cfb94ab4a9f8ec62cd37efc616bac4f
 +    "src/fs_event_wrap.cc",
 +    "src/handle_wrap.cc",
 +    "src/heap_utils.cc",
++    "src/histogram.cc",
 +    "src/js_native_api.h",
 +    "src/js_native_api_types.h",
 +    "src/js_native_api_v8.cc",
@@ -1634,7 +1650,7 @@ index 0000000000000000000000000000000000000000..f3c5c798c0aefcb8cf9b1570a7b4817c
 +  args = rebase_path(inputs + outputs, root_build_dir)
 +}
 diff --git a/src/node_version.h b/src/node_version.h
-index 8a4192dcc74c8809f47e862f673b850a40084577..29dab977e8a31dfb5aae44bf4b03e855ee18aff0 100644
+index 958519fbe4a83293f5c7bfabb310d3f15d319922..935ead39a1148c22f8c778df750e0c24ceafe909 100644
 --- a/src/node_version.h
 +++ b/src/node_version.h
 @@ -89,7 +89,10 @@

+ 2 - 2
patches/node/build_bring_back_node_with_ltcg_configuration.patch

@@ -10,7 +10,7 @@ THe fix for this should land in node-gyp as discussed in above issue,
 landing this as temporary patch.
 
 diff --git a/common.gypi b/common.gypi
-index bf6dda11463d0bee97262ccc6d344d8b2efad8d2..87f5a3bd3b741d58e956cad4599012a11d46ba29 100644
+index 1c753edfefa96d69c5de7d54078fa3136b244b52..71b20b28d923c39f047bf57e05558879c9d002ec 100644
 --- a/common.gypi
 +++ b/common.gypi
 @@ -19,7 +19,7 @@
@@ -22,7 +22,7 @@ index bf6dda11463d0bee97262ccc6d344d8b2efad8d2..87f5a3bd3b741d58e956cad4599012a1
      'node_shared_openssl%': 'false',
  
      'node_tag%': '',
-@@ -243,6 +243,26 @@
+@@ -239,6 +239,26 @@
              'cflags': [ '-fPIC' ],
              'ldflags': [ '-fPIC' ]
            }],

+ 5 - 5
patches/node/chore_prevent_warn_non_context-aware_native_modules_being_loaded.patch

@@ -23,10 +23,10 @@ index cef4e5086ca8160a7d715915f735963e369068b1..35ad9ee1a685177894bb5c13c58c16af
  
    // TODO(joyeecheung): most of these should be deprecated and removed,
 diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
-index 8bb5dae46966541884dbad5bb9c3a3f790c56358..6bc051ca5b864945aedea7a6fa8cf23cb509f9e9 100644
+index 992482525f8bdea399528f1e5673f4efa21b7246..800c22dea9c07a4039e6e7eabeae73a9b8013e09 100644
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -1127,6 +1127,13 @@ Module.prototype._compile = function(content, filename) {
+@@ -1104,6 +1104,13 @@ Module.prototype._compile = function(content, filename) {
    if (getOptionValue('--inspect-brk') && process._eval == null) {
      if (!resolvedArgv) {
        // We enter the repl if we're not given a filename argument.
@@ -41,10 +41,10 @@ index 8bb5dae46966541884dbad5bb9c3a3f790c56358..6bc051ca5b864945aedea7a6fa8cf23c
          try {
            resolvedArgv = Module._resolveFilename(process.argv[1], null, false);
 diff --git a/src/env.h b/src/env.h
-index e5e8c107f6881d96e1d8a2b55fff425d5e29b0a4..6a7263736b5252e9ce36269a5be9c58dd031ee94 100644
+index cdcb8f5cf3b9233e6e83a99d98cfd1228bcef680..b67f1e4876f42ae37a49bbcb865c049f5a3ac3f5 100644
 --- a/src/env.h
 +++ b/src/env.h
-@@ -878,6 +878,15 @@ class Environment : public MemoryRetainer {
+@@ -880,6 +880,15 @@ class Environment : public MemoryRetainer {
                uint64_t thread_id = kNoThreadId);
    ~Environment() override;
  
@@ -60,7 +60,7 @@ index e5e8c107f6881d96e1d8a2b55fff425d5e29b0a4..6a7263736b5252e9ce36269a5be9c58d
    void InitializeLibuv(bool start_profiler_idle_notifier);
    inline const std::vector<std::string>& exec_argv();
    inline const std::vector<std::string>& argv();
-@@ -1263,6 +1272,9 @@ class Environment : public MemoryRetainer {
+@@ -1266,6 +1275,9 @@ class Environment : public MemoryRetainer {
    inline void ThrowError(v8::Local<v8::Value> (*fun)(v8::Local<v8::String>),
                           const char* errmsg);
  

+ 4 - 4
patches/node/enable_31_bit_smis_on_64bit_arch_and_ptr_compression.patch

@@ -8,10 +8,10 @@ node modules will have different (wrong) ideas about how v8 structs are laid
 out in memory on 64-bit machines, and will summarily fail to work.
 
 diff --git a/common.gypi b/common.gypi
-index 87f5a3bd3b741d58e956cad4599012a11d46ba29..23958d5535819fd9d1a14868aea3cc39762a102f 100644
+index 71b20b28d923c39f047bf57e05558879c9d002ec..0a10a734d48e0b45b0ed4502927616e46633dafb 100644
 --- a/common.gypi
 +++ b/common.gypi
-@@ -75,6 +75,9 @@
+@@ -71,6 +71,9 @@
      # TODO(refack): make v8-perfetto happen
      'v8_use_perfetto': 0,
  
@@ -21,7 +21,7 @@ index 87f5a3bd3b741d58e956cad4599012a11d46ba29..23958d5535819fd9d1a14868aea3cc39
      ##### end V8 defaults #####
  
      # When building native modules using 'npm install' with the system npm,
-@@ -152,6 +155,9 @@
+@@ -148,6 +151,9 @@
        ['OS=="mac"', {
          'clang%': 1,
        }],
@@ -31,7 +31,7 @@ index 87f5a3bd3b741d58e956cad4599012a11d46ba29..23958d5535819fd9d1a14868aea3cc39
        ['target_arch in "ppc64 s390x"', {
          'v8_enable_backtrace': 1,
        }],
-@@ -378,6 +384,12 @@
+@@ -374,6 +380,12 @@
            }],
          ],
        }],

+ 2 - 2
patches/node/feat_add_flags_for_low-level_hooks_and_exceptions.patch

@@ -24,10 +24,10 @@ Environment on the V8 context of blink, so no new V8 context is created.
 As a result, a renderer process may have multiple Node Environments in it.
 
 diff --git a/src/env.cc b/src/env.cc
-index 2bdac964cb03cad4b9637c3cea56a8e5f650056f..4b1c72a5f67ab1882cbb61b4c52fc50e28aa5b25 100644
+index ec50d8841ac1e360411a87b3bfc1454969696582..65e4bda890461f691036005252db7e61865d2493 100644
 --- a/src/env.cc
 +++ b/src/env.cc
-@@ -384,6 +384,12 @@ Environment::Environment(IsolateData* isolate_data,
+@@ -383,6 +383,12 @@ Environment::Environment(IsolateData* isolate_data,
    // TODO(joyeecheung): deserialize when the snapshot covers the environment
    // properties.
    CreateProperties();

+ 2 - 2
patches/node/fix_add_default_values_for_enable_lto_and_build_v8_with_gn_in.patch

@@ -8,10 +8,10 @@ common.gypi is a file that's included in the node header bundle, despite
 the fact that we do not build node with gyp.
 
 diff --git a/common.gypi b/common.gypi
-index 38a22fc5f1ddd6164291c5d21df8fc1203bcc2b7..bf6dda11463d0bee97262ccc6d344d8b2efad8d2 100644
+index fd3c4738baea1c39f0deb265c684dd8bc384395e..1c753edfefa96d69c5de7d54078fa3136b244b52 100644
 --- a/common.gypi
 +++ b/common.gypi
-@@ -77,6 +77,22 @@
+@@ -73,6 +73,22 @@
  
      ##### end V8 defaults #####
  

+ 1 - 1
patches/node/fix_expose_tracing_agent_and_use_tracing_tracingcontroller_instead.patch

@@ -5,7 +5,7 @@ Subject: fix: expose tracing::Agent and use tracing::TracingController instead
  of v8::TracingController
 
 diff --git a/src/api/environment.cc b/src/api/environment.cc
-index 48c45b6e5e3eb996599ba235c1057756dcd910f3..4b8c64a88fe2b8b30c746bc3c49d75565a83762d 100644
+index 1df70cf6a6d44dfe61bbf346494c3d361e9aa448..68ccef87356755a8a99283d55bf5492831a46ce0 100644
 --- a/src/api/environment.cc
 +++ b/src/api/environment.cc
 @@ -331,6 +331,10 @@ MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform() {

+ 3 - 3
patches/node/fix_key_gen_apis_are_not_available_in_boringssl.patch

@@ -6,7 +6,7 @@ Subject: fix: key gen APIs are not available in BoringSSL
 This will make Node's key pair generation APIs fail.
 
 diff --git a/src/node_crypto.cc b/src/node_crypto.cc
-index 4e1a4d8bc80fe3619826b2c865fd0503ffc66c5c..41eb04caffd4c1faaecd0f8a2cbe93016475bfe1 100644
+index ee42630ad06da91b6c776447cf1350bd449c7cf4..73c18d1b911bb7cf731e31e74957319d5d7c53ed 100644
 --- a/src/node_crypto.cc
 +++ b/src/node_crypto.cc
 @@ -267,24 +267,14 @@ Maybe<bool> Decorate(Environment* env, Local<Object> obj,
@@ -34,7 +34,7 @@ index 4e1a4d8bc80fe3619826b2c865fd0503ffc66c5c..41eb04caffd4c1faaecd0f8a2cbe9301
      V(USER)                                                                   \
  
  #define V(name) case ERR_LIB_##name: lib = #name "_"; break;
-@@ -6017,6 +6007,7 @@ class DSAKeyPairGenerationConfig : public KeyPairGenerationConfig {
+@@ -6013,6 +6003,7 @@ class DSAKeyPairGenerationConfig : public KeyPairGenerationConfig {
      if (EVP_PKEY_paramgen_init(param_ctx.get()) <= 0)
        return nullptr;
  
@@ -42,7 +42,7 @@ index 4e1a4d8bc80fe3619826b2c865fd0503ffc66c5c..41eb04caffd4c1faaecd0f8a2cbe9301
      if (EVP_PKEY_CTX_set_dsa_paramgen_bits(param_ctx.get(), modulus_bits_) <= 0)
        return nullptr;
  
-@@ -6027,6 +6018,7 @@ class DSAKeyPairGenerationConfig : public KeyPairGenerationConfig {
+@@ -6023,6 +6014,7 @@ class DSAKeyPairGenerationConfig : public KeyPairGenerationConfig {
          return nullptr;
        }
      }

+ 2 - 2
patches/node/fix_use_crypto_impls_for_compat.patch

@@ -8,10 +8,10 @@ by using the implementations of those functions as found in the OpenSSL repo.
 I plan to try and upstream a version of this.
 
 diff --git a/src/node_crypto.cc b/src/node_crypto.cc
-index 5e00468aac8b9f9c5ef7ea2f1e3b62991bfde255..81a75049e51ee9e24f69361fca27ee858597c8e7 100644
+index a2f7190810552261dc66fae18acade3576ff4fe8..29f4d934623889010bf00bbde59d7710916307e4 100644
 --- a/src/node_crypto.cc
 +++ b/src/node_crypto.cc
-@@ -4481,7 +4481,7 @@ static unsigned int GetBytesOfRS(const ManagedEVPPKey& pkey) {
+@@ -4478,7 +4478,7 @@ static unsigned int GetBytesOfRS(const ManagedEVPPKey& pkey) {
    if (base_id == EVP_PKEY_DSA) {
      DSA* dsa_key = EVP_PKEY_get0_DSA(pkey.get());
      // Both r and s are computed mod q, so their width is limited by that of q.

+ 36 - 0
patches/node/fix_window_c-ares_incompatibilities.patch

@@ -0,0 +1,36 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shelley Vohr <[email protected]>
+Date: Wed, 29 Apr 2020 13:58:38 -0700
+Subject: fix: window c-ares incompatibilities
+
+Fixes LPCWSTR conversion incompatibilities introduced by a Node.js upgrade to
+c-ares v1.16.0 in https://github.com/nodejs/node/pull/32246. I've opened an issue for this
+on the c-ares repo as well as an upstream PR at https://github.com/c-ares/c-ares/pull/328.
+
+diff --git a/deps/cares/src/ares_getaddrinfo.c b/deps/cares/src/ares_getaddrinfo.c
+index 8265e4afc20f6043260efe003c3c890db4fa8b73..11e565aa2e9c8a1ee1f86c153ee6371568cc9bb4 100644
+--- a/deps/cares/src/ares_getaddrinfo.c
++++ b/deps/cares/src/ares_getaddrinfo.c
+@@ -456,18 +456,18 @@ static int file_lookup(struct host_query *hquery)
+           char tmp[MAX_PATH];
+           HKEY hkeyHosts;
+ 
+-          if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0, KEY_READ,
++          if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, WIN_NS_NT_KEY, 0, KEY_READ,
+                            &hkeyHosts) == ERROR_SUCCESS)
+             {
+               DWORD dwLength = MAX_PATH;
+-              RegQueryValueEx(hkeyHosts, DATABASEPATH, NULL, NULL, (LPBYTE)tmp,
++              RegQueryValueExA(hkeyHosts, DATABASEPATH, NULL, NULL, (LPBYTE)tmp,
+                               &dwLength);
+-              ExpandEnvironmentStrings(tmp, PATH_HOSTS, MAX_PATH);
++              ExpandEnvironmentStringsA(tmp, PATH_HOSTS, MAX_PATH);
+               RegCloseKey(hkeyHosts);
+             }
+         }
+       else if (platform == WIN_9X)
+-        GetWindowsDirectory(PATH_HOSTS, MAX_PATH);
++        GetWindowsDirectoryA(PATH_HOSTS, MAX_PATH);
+       else
+         return ARES_ENOTFOUND;
+ 

+ 2 - 2
patches/node/fixme_use_redefined_version_of_internalmodulestat.patch

@@ -9,10 +9,10 @@ this has to be done after the upgrade to the Node.js v8.7.0.  in the very beginn
 to a native Node.js implementation of the function.
 
 diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
-index ad82a7ab05e253a5e93a61bcaf4066cdb29017ea..d66e8dfce3dd34ecfd6aa67dfacf2282a2de893e 100644
+index 2a92651dd6c5a98990b0f9e996b97c3e73095d50..33f52a3c168840ea88da0e032069136e8a690830 100644
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -141,6 +141,8 @@ function enrichCJSError(err) {
+@@ -145,6 +145,8 @@ function enrichCJSError(err) {
  }
  
  function stat(filename) {

+ 2 - 2
patches/node/make_module_globalpaths_a_reference.patch

@@ -10,10 +10,10 @@ node's module code.
 (cherry picked from commit 76ba048c37588ee32636817fa7b8dffc64330cbf)
 
 diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
-index 734dffa343a52208a9c90c5ff7e8a43f65ad0d7f..92bc9e738f508d66948b71c4967a5c3d2b0dca6c 100644
+index 0a359a3d8973bc2d7cf7563972b15459a6a1d0e8..2010aae2b734bbcf9793336678a39f945e36c5be 100644
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -1273,8 +1273,8 @@ Module._initPaths = function() {
+@@ -1250,8 +1250,8 @@ Module._initPaths = function() {
  
    modulePaths = paths;
  

+ 3 - 3
patches/node/pass_all_globals_through_require.patch

@@ -6,10 +6,10 @@ Subject: Pass all globals through "require"
 (cherry picked from commit 7d015419cb7a0ecfe6728431a4ed2056cd411d62)
 
 diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
-index 92bc9e738f508d66948b71c4967a5c3d2b0dca6c..ad82a7ab05e253a5e93a61bcaf4066cdb29017ea 100644
+index 2010aae2b734bbcf9793336678a39f945e36c5be..2a92651dd6c5a98990b0f9e996b97c3e73095d50 100644
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -104,6 +104,13 @@ const {
+@@ -105,6 +105,13 @@ const {
    CHAR_COLON
  } = require('internal/constants');
  
@@ -23,7 +23,7 @@ index 92bc9e738f508d66948b71c4967a5c3d2b0dca6c..ad82a7ab05e253a5e93a61bcaf4066cd
  const isWindows = process.platform === 'win32';
  
  const relativeResolveCache = ObjectCreate(null);
-@@ -1151,10 +1158,12 @@ Module.prototype._compile = function(content, filename) {
+@@ -1128,10 +1135,12 @@ Module.prototype._compile = function(content, filename) {
    if (requireDepth === 0) statCache = new Map();
    if (inspectorWrapper) {
      result = inspectorWrapper(compiledWrapper, thisValue, exports,

+ 4 - 4
patches/node/refactor_allow_embedder_overriding_of_internal_fs_calls.patch

@@ -22,10 +22,10 @@ index bb9a2b177c4304496dab1f1beaedc1ae9d9f55d9..36d06759aac57b1aa813b52c94e2168b
  process.config = JSONParse(internalBinding('native_module').config);
  
 diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
-index d66e8dfce3dd34ecfd6aa67dfacf2282a2de893e..8bb5dae46966541884dbad5bb9c3a3f790c56358 100644
+index 33f52a3c168840ea88da0e032069136e8a690830..992482525f8bdea399528f1e5673f4efa21b7246 100644
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -54,10 +54,7 @@ const assert = require('internal/assert');
+@@ -55,10 +55,7 @@ const assert = require('internal/assert');
  const fs = require('fs');
  const internalFS = require('internal/fs/utils');
  const path = require('path');
@@ -37,7 +37,7 @@ index d66e8dfce3dd34ecfd6aa67dfacf2282a2de893e..8bb5dae46966541884dbad5bb9c3a3f7
  const { safeGetenv } = internalBinding('credentials');
  const {
    makeRequireFunction,
-@@ -141,14 +138,12 @@ function enrichCJSError(err) {
+@@ -145,14 +142,12 @@ function enrichCJSError(err) {
  }
  
  function stat(filename) {
@@ -53,7 +53,7 @@ index d66e8dfce3dd34ecfd6aa67dfacf2282a2de893e..8bb5dae46966541884dbad5bb9c3a3f7
    if (statCache !== null) statCache.set(filename, result);
    return result;
  }
-@@ -254,7 +249,7 @@ function readPackage(requestPath) {
+@@ -258,7 +253,7 @@ function readPackage(requestPath) {
    const existing = packageJsonCache.get(jsonPath);
    if (existing !== undefined) return existing;
  

+ 7 - 7
patches/node/refactor_transferrablemodule_is_deprecated_use_compiledwasmmodule.patch

@@ -7,10 +7,10 @@ Subject: refactor: TransferrableModule is deprecated, use CompiledWasmModule
 This will be upstreamed to nodejs/node
 
 diff --git a/src/node_messaging.cc b/src/node_messaging.cc
-index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623cb5dfb956 100644
+index c7c46063731a5b49366d8e8702b625162b361471..a8cfbec2f5bf2387312237114ab5eb058561b898 100644
 --- a/src/node_messaging.cc
 +++ b/src/node_messaging.cc
-@@ -58,7 +58,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
+@@ -57,7 +57,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
        Environment* env,
        const std::vector<MessagePort*>& message_ports,
        const std::vector<Local<SharedArrayBuffer>>& shared_array_buffers,
@@ -19,7 +19,7 @@ index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623c
        : message_ports_(message_ports),
          shared_array_buffers_(shared_array_buffers),
          wasm_modules_(wasm_modules) {}
-@@ -82,7 +82,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
+@@ -81,7 +81,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
    MaybeLocal<WasmModuleObject> GetWasmModuleFromId(
        Isolate* isolate, uint32_t transfer_id) override {
      CHECK_LE(transfer_id, wasm_modules_.size());
@@ -28,7 +28,7 @@ index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623c
          isolate, wasm_modules_[transfer_id]);
    }
  
-@@ -91,7 +91,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
+@@ -90,7 +90,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate {
   private:
    const std::vector<MessagePort*>& message_ports_;
    const std::vector<Local<SharedArrayBuffer>>& shared_array_buffers_;
@@ -37,7 +37,7 @@ index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623c
  };
  
  }  // anonymous namespace
-@@ -181,7 +181,7 @@ void Message::AddMessagePort(std::unique_ptr<MessagePortData>&& data) {
+@@ -180,7 +180,7 @@ void Message::AddMessagePort(std::unique_ptr<MessagePortData>&& data) {
    message_ports_.emplace_back(std::move(data));
  }
  
@@ -46,7 +46,7 @@ index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623c
    wasm_modules_.emplace_back(std::move(mod));
    return wasm_modules_.size() - 1;
  }
-@@ -264,7 +264,7 @@ class SerializerDelegate : public ValueSerializer::Delegate {
+@@ -277,7 +277,7 @@ class SerializerDelegate : public ValueSerializer::Delegate {
  
    Maybe<uint32_t> GetWasmModuleTransferId(
        Isolate* isolate, Local<WasmModuleObject> module) override {
@@ -56,7 +56,7 @@ index f55cb7ed9bd08cf85a8642e2fba6dbf9f6710337..39bcc1236ff7c6d90e268f7c55fa623c
  
    void Finish() {
 diff --git a/src/node_messaging.h b/src/node_messaging.h
-index d64bf23e086d0596e745d838020740848b399859..468e276f83df05bcc570449f94d65a00a22dcd5d 100644
+index 43f710a84e831502bcfb574d2c456a0f9e815994..28986814b9f32ab310510f93ef9e6e97851e032d 100644
 --- a/src/node_messaging.h
 +++ b/src/node_messaging.h
 @@ -58,7 +58,7 @@ class Message : public MemoryRetainer {

+ 2 - 2
patches/node/revert_crypto_add_oaeplabel_option.patch

@@ -8,10 +8,10 @@ The BoringSSL incompatibilities (OPENSSL_memdup) will be shimmed in and this sho
 be removed when the associated update is rolled into Chromium.
 
 diff --git a/src/node_crypto.cc b/src/node_crypto.cc
-index 41eb04caffd4c1faaecd0f8a2cbe93016475bfe1..5e00468aac8b9f9c5ef7ea2f1e3b62991bfde255 100644
+index 73c18d1b911bb7cf731e31e74957319d5d7c53ed..a2f7190810552261dc66fae18acade3576ff4fe8 100644
 --- a/src/node_crypto.cc
 +++ b/src/node_crypto.cc
-@@ -4969,18 +4969,6 @@ bool PublicKeyCipher::Cipher(Environment* env,
+@@ -4966,18 +4966,6 @@ bool PublicKeyCipher::Cipher(Environment* env,
        return false;
    }
  

+ 4 - 0
script/node-disabled-tests.json

@@ -103,7 +103,9 @@
   "parallel/test-tls-getcipher",
   "parallel/test-tls-handshake-error",
   "parallel/test-tls-handshake-exception",
+  "parallel/test-tls-hello-parser-failure",
   "parallel/test-tls-honorcipherorder",
+  "parallel/test-tls-junk-closes-server",
   "parallel/test-tls-junk-server",
   "parallel/test-tls-key-mismatch",
   "parallel/test-tls-max-send-fragment",
@@ -116,6 +118,7 @@
   "parallel/test-tls-peer-certificate",
   "parallel/test-tls-pfx-authorizationerror",
   "parallel/test-tls-psk-circuit",
+  "parallel/test-tls-root-certificates",
   "parallel/test-tls-server-failed-handshake-emits-clienterror",
   "parallel/test-tls-set-ciphers",
   "parallel/test-tls-set-ciphers-error",
@@ -178,6 +181,7 @@
   "sequential/test-inspector-port-zero",
   "sequential/test-inspector-resource-name-to-url",
   "sequential/test-inspector-stress-http",
+  "sequential/test-worker-prof",
   "sequential/test-perf-hooks",
   "sequential/test-tls-connect",
   "sequential/test-vm-timeout-rethrow",