Revision: 22686
Author:   [email protected]
Date:     Tue Jul 29 20:48:36 2014 UTC
Log:      MIPS: Only generate a single normal IC per kind per slow-mode map.

Port r22680 (8b865409)

BUG=
[email protected]

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

Modified:
 /branches/bleeding_edge/src/mips/stub-cache-mips.cc
 /branches/bleeding_edge/src/mips64/stub-cache-mips64.cc

=======================================
--- /branches/bleeding_edge/src/mips/stub-cache-mips.cc Tue Jul 29 20:47:03 2014 UTC +++ /branches/bleeding_edge/src/mips/stub-cache-mips.cc Tue Jul 29 20:48:36 2014 UTC
@@ -1263,7 +1263,13 @@

   if (check == PROPERTY &&
       (kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) {
-    __ Branch(&miss, ne, this->name(), Operand(name));
+    // In case we are compiling an IC for dictionary loads and stores, just
+    // check whether the name is unique.
+    if (name.is_identical_to(isolate()->factory()->normal_ic_symbol())) {
+      __ JumpIfNotUniqueName(this->name(), &miss);
+    } else {
+      __ Branch(&miss, ne, this->name(), Operand(name));
+    }
   }

   Label number_case;
=======================================
--- /branches/bleeding_edge/src/mips64/stub-cache-mips64.cc Tue Jul 29 20:47:03 2014 UTC +++ /branches/bleeding_edge/src/mips64/stub-cache-mips64.cc Tue Jul 29 20:48:36 2014 UTC
@@ -1264,7 +1264,13 @@

   if (check == PROPERTY &&
       (kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) {
-    __ Branch(&miss, ne, this->name(), Operand(name));
+    // In case we are compiling an IC for dictionary loads and stores, just
+    // check whether the name is unique.
+    if (name.is_identical_to(isolate()->factory()->normal_ic_symbol())) {
+      __ JumpIfNotUniqueName(this->name(), &miss);
+    } else {
+      __ Branch(&miss, ne, this->name(), Operand(name));
+    }
   }

   Label number_case;

--
--
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