Reviewers: ulan,

Description:
Merged r11807 into trunk branch.

Fix Kraken regression due to optimistic monomorphic element transitions

[email protected]


Please review this at https://chromiumcodereview.appspot.com/10537172/

SVN Base: https://v8.googlecode.com/svn/trunk

Affected files:
  M src/ic.cc
  M src/version.cc


Index: src/ic.cc
diff --git a/src/ic.cc b/src/ic.cc
index d7f0f3251c86b20106ba3fba360b80df24563ad9..47a72b495636465761ce27fe4a0d97a107430f78 100644
--- a/src/ic.cc
+++ b/src/ic.cc
@@ -1602,7 +1602,7 @@ Handle<Code> KeyedIC::ComputeStub(Handle<JSObject> receiver,
     monomorphic = true;
   } else {
     GetReceiverMapsForStub(Handle<Code>(target()), &target_receiver_maps);
-    if (ic_state == MONOMORPHIC && is_transition_stub) {
+ if (ic_state == MONOMORPHIC && (is_transition_stub || stub_kind == LOAD)) { // The first time a receiver is seen that is a transitioned version of the // previous monomorphic receiver type, assume the new ElementsKind is the
       // monomorphic type. This benefits global arrays that only transition
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 06912b100bbbfb3f4b7f9e60654c6b4752db0b68..4fdd2e593af8176c02f37ec037b9cf1dad3777ac 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     11
 #define BUILD_NUMBER      10
-#define PATCH_LEVEL       0
+#define PATCH_LEVEL       1
 // 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

Reply via email to