Browse Source

chore: cherry-pick 0e7f91956cec from v8 (#30199)

* chore: cherry-pick 0e7f91956cec from v8

* chore: update patches

Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Pedro Pontes 3 years ago
parent
commit
fe81b86532
2 changed files with 36 additions and 0 deletions
  1. 1 0
      patches/v8/.patches
  2. 35 0
      patches/v8/merged_compiler_fix_a_bug_in.patch

+ 1 - 0
patches/v8/.patches

@@ -33,3 +33,4 @@ cherry-pick-9da8fb7c4b80.patch
 m86-lts_squashed_multiple_commits.patch
 cherry-pick-fd8cbdf7b888.patch
 cherry-pick-fd9ce58ecd13.patch
+merged_compiler_fix_a_bug_in.patch

+ 35 - 0
patches/v8/merged_compiler_fix_a_bug_in.patch

@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Georg Neis <[email protected]>
+Date: Tue, 13 Jul 2021 17:26:47 +0200
+Subject: Merged: [compiler] Fix a bug in
+ CodeGenerator::AddTranslationForOperand
+
+(cherry picked from commit 374354bfe4a30740b96936b33e522d6fcd1cda67)
+
+Bug: chromium:1228407
+No-Try: true
+No-Presubmit: true
+No-Tree-Checks: true
+Change-Id: I358d8736b7b5f87300496cbb39a7689d8207d85f
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3027260
+Bot-Commit: Rubber Stamper <[email protected]>
+Reviewed-by: Adam Klein <[email protected]>
+Commit-Queue: Adam Klein <[email protected]>
+Cr-Commit-Position: refs/branch-heads/9.1@{#77}
+Cr-Branched-From: 0e4ac64a8cf298b14034a22f9fe7b085d2cb238d-refs/heads/9.1.269@{#1}
+Cr-Branched-From: f565e72d5ba88daae35a59d0f978643e2343e912-refs/heads/master@{#73847}
+
+diff --git a/src/compiler/backend/code-generator.cc b/src/compiler/backend/code-generator.cc
+index 33a80f52d0d6b502eefa62a97b1f24400abec3a9..6f25ce706fd178682b764bd3fade01bb6bffcdd6 100644
+--- a/src/compiler/backend/code-generator.cc
++++ b/src/compiler/backend/code-generator.cc
+@@ -1306,7 +1306,8 @@ void CodeGenerator::AddTranslationForOperand(Translation* translation,
+       default:
+         UNREACHABLE();
+     }
+-    if (literal.object().equals(info()->closure())) {
++    if (literal.object().equals(info()->closure()) &&
++        info()->function_context_specializing()) {
+       translation->StoreJSFrameFunction();
+     } else {
+       int literal_id = DefineDeoptimizationLiteral(literal);