diff --git a/patches/v8/.patches b/patches/v8/.patches index 280a34b936037..dd5b93a8df77d 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -1,2 +1,3 @@ chore_allow_customizing_microtask_policy_per_context.patch deps_add_v8_object_setinternalfieldfornodecore.patch +cherry-pick-f320600cd1f4.patch diff --git a/patches/v8/cherry-pick-f320600cd1f4.patch b/patches/v8/cherry-pick-f320600cd1f4.patch new file mode 100644 index 0000000000000..1a92bfcbdd65c --- /dev/null +++ b/patches/v8/cherry-pick-f320600cd1f4.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shu-yu Guo +Date: Thu, 9 May 2024 12:03:28 -0700 +Subject: Only normalize JSObject targets in SetOrCopyDataProperties + +Bug: 339458194 +Change-Id: I4d6eebdd921971fa28d7c474535d978900ba633f +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5527397 +Reviewed-by: Rezvan Mahdavi Hezaveh +Commit-Queue: Shu-yu Guo +Cr-Commit-Position: refs/heads/main@{#93811} + +diff --git a/src/objects/js-objects.cc b/src/objects/js-objects.cc +index 6c99451fab8bf7d5b08735dd9a4863b5978596d3..fa13ac023ebd7ea7cbb52b9e6924af1b21146676 100644 +--- a/src/objects/js-objects.cc ++++ b/src/objects/js-objects.cc +@@ -434,9 +434,7 @@ Maybe JSReceiver::SetOrCopyDataProperties( + Nothing()); + + if (!from->HasFastProperties() && target->HasFastProperties() && +- !IsJSGlobalProxy(*target)) { +- // JSProxy is always in slow-mode. +- DCHECK(!IsJSProxy(*target)); ++ IsJSObject(*target) && !IsJSGlobalProxy(*target)) { + // Convert to slow properties if we're guaranteed to overflow the number of + // descriptors. + int source_length;