Reviewers: Toon Verwaest,

Description:
Merged r20127 into 3.24 branch.

Fix for performance issue 353661 - 23% regression in dromaeo.

BUG=353661
LOG=N
[email protected]

Please review this at https://codereview.chromium.org/222103004/

SVN Base: https://v8.googlecode.com/svn/branches/3.24

Affected files (+3, -2 lines):
  M src/ic.cc
  M src/version.cc


Index: src/ic.cc
diff --git a/src/ic.cc b/src/ic.cc
index 1e7997a80ddf6632633908c1e36f847ea752ebff..15db6e9827b31769f0c85613f4f68ab3297fb0ac 100644
--- a/src/ic.cc
+++ b/src/ic.cc
@@ -1439,7 +1439,8 @@ Handle<Code> KeyedStoreIC::StoreElementStub(Handle<JSObject> receiver,
     if (IsTransitionStoreMode(store_mode)) {
transitioned_receiver_map = ComputeTransitionedMap(receiver, store_mode);
     }
-    if (receiver_map.is_identical_to(previous_receiver_map) ||
+    if ((receiver_map.is_identical_to(previous_receiver_map) &&
+         IsTransitionStoreMode(store_mode)) ||
         IsTransitionOfMonomorphicTarget(
             MapToType<HeapType>(transitioned_receiver_map, isolate()))) {
// If the "old" and "new" maps are in the same elements map family, or
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 9ba044d5a6eaaacb4737416f7958ba739f8398e3..c7a76e41cb5f0fbde682f6c954eea40fd05b8d82 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     24
 #define BUILD_NUMBER      35
-#define PATCH_LEVEL       22
+#define PATCH_LEVEL       23
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to