Revision: 20127
Author:   mvstan...@chromium.org
Date:     Thu Mar 20 13:38:08 2014 UTC
Log:      Fix for performance issue 353661 - 23% regression in dromaeo.

The issue was that a previous fix to avoid a logic error was not
targeted enough: it allowed non-transitioning stores to fall
into a code path meant to preserve monomorphic state in the
case of a transitioning store.

BUG=353661
LOG=N
R=verwa...@chromium.org

Review URL: https://codereview.chromium.org/206353002
http://code.google.com/p/v8/source/detail?r=20127

Modified:
 /branches/bleeding_edge/src/ic.cc

=======================================
--- /branches/bleeding_edge/src/ic.cc   Wed Mar 19 15:49:29 2014 UTC
+++ /branches/bleeding_edge/src/ic.cc   Thu Mar 20 13:38:08 2014 UTC
@@ -1452,7 +1452,8 @@
     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

--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to