Browse Source

build: remove fix_disable_scope_reuse_associated_dchecks.patch (#43441)

chore: remove fix_disable_scope_reuse_associated_dchecks.patch
Charles Kerr 8 months ago
parent
commit
9ce0ca74c3
2 changed files with 0 additions and 62 deletions
  1. 0 1
      patches/v8/.patches
  2. 0 61
      patches/v8/fix_disable_scope_reuse_associated_dchecks.patch

+ 0 - 1
patches/v8/.patches

@@ -1,3 +1,2 @@
 chore_allow_customizing_microtask_policy_per_context.patch
 deps_add_v8_object_setinternalfieldfornodecore.patch
-fix_disable_scope_reuse_associated_dchecks.patch

+ 0 - 61
patches/v8/fix_disable_scope_reuse_associated_dchecks.patch

@@ -1,61 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Calvin Watford <[email protected]>
-Date: Wed, 17 Jul 2024 12:52:10 -0600
-Subject: fix: disable scope reuse & associated dchecks
-
-This change was introduced in https://crrev.com/c/5630974 which reuses
-scope info objects across allocations. Unfortunately, this change seems
-to be not yet fully cooked and causes crashes with normal usage of V8.
-
-In particular, Node.js call's V8's `v8::ScriptCompiler::CompileFunction`
-method. This ends up wrapping the source code in a function, which this
-code is not yet prepared to handle. The generated function wrapper
-(created by V8) has no source position, so it reports being at the start
-of the source, which may overlap with other scopes that are in the
-original source. This new feature adds a "UniqueIdInScript" concept that
-is derived from the source position of a scope, along with the invariant
-that inner scopes have a higher ID than outer scopes, which does not
-hold for the above situation.
-
-This patch is not intended to remain indefinitely. Once the upstream
-feature stabilizes, we can remove this patch. Unfortunately, there is no
-public tracking bug for this feature nor the crashes its been causing,
-so we'll have to keep an eye on this for the time being.
-
-diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc
-index 57a9dca1a84dee95d36c2b296fc170399db3e213..5db78a650068faa0bacf05b13d86860c9616e20e 100644
---- a/src/ast/scopes.cc
-+++ b/src/ast/scopes.cc
-@@ -2731,10 +2731,10 @@ void Scope::AllocateScopeInfosRecursively(
-   for (Scope* scope = inner_scope_; scope != nullptr; scope = scope->sibling_) {
- #ifdef DEBUG
-     if (!scope->is_hidden_catch_scope()) {
--      DCHECK_GT(scope->UniqueIdInScript(), UniqueIdInScript());
--      DCHECK_IMPLIES(
--          scope->sibling_ && !scope->sibling_->is_hidden_catch_scope(),
--          scope->sibling_->UniqueIdInScript() != scope->UniqueIdInScript());
-+      // DCHECK_GT(scope->UniqueIdInScript(), UniqueIdInScript());
-+      // DCHECK_IMPLIES(
-+      //     scope->sibling_ && !scope->sibling_->is_hidden_catch_scope(),
-+      //     scope->sibling_->UniqueIdInScript() != scope->UniqueIdInScript());
-     }
- #endif
-     if (!scope->is_function_scope() ||
-diff --git a/src/flags/flag-definitions.h b/src/flags/flag-definitions.h
-index 670cb9f3658737acd953a4dcbb502c407a79212b..42765a8069d62df908ada15b3b89b7d8476744bb 100644
---- a/src/flags/flag-definitions.h
-+++ b/src/flags/flag-definitions.h
-@@ -964,7 +964,12 @@ DEFINE_BOOL(trace_track_allocation_sites, false,
- DEFINE_BOOL(trace_migration, false, "trace object migration")
- DEFINE_BOOL(trace_generalization, false, "trace map generalization")
- 
--DEFINE_BOOL(reuse_scope_infos, true, "reuse scope infos from previous compiles")
-+// ELECTRON: The following flag should remain false by default until we can
-+//   remove `fix_disable_scope_reuse_associated_dchecks.patch`
-+DEFINE_BOOL(reuse_scope_infos, false,
-+            "reuse scope infos from previous compiles")
-+
-+DEFINE_IMPLICATION(fuzzing, reuse_scope_infos)
- 
- // Flags for Sparkplug
- #undef FLAG