Reviewers: Weiliang, Toon Verwaest,

Message:
weiliang.
please review this porting patch.
thanks.

Description:
X87: Only generate a single normal IC per kind per slow-mode map.

port r22680

original commit message:

  only generate a single normal IC per kind per slow-mode map.

BUG=

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

SVN Base: https://chromium.googlesource.com/external/v8.git@bleeding_edge

Affected files (+8, -2 lines):
  M src/x87/stub-cache-x87.cc


Index: src/x87/stub-cache-x87.cc
diff --git a/src/x87/stub-cache-x87.cc b/src/x87/stub-cache-x87.cc
index 6a4e5be653fe661b1a0b0f3ab1de94f6e34e7c8f..f351d62ebe4fc375d90e4aa03a4346056059e331 100644
--- a/src/x87/stub-cache-x87.cc
+++ b/src/x87/stub-cache-x87.cc
@@ -1299,8 +1299,14 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types,

   if (check == PROPERTY &&
       (kind() == Code::KEYED_LOAD_IC || kind() == Code::KEYED_STORE_IC)) {
-    __ cmp(this->name(), Immediate(name));
-    __ j(not_equal, &miss);
+    // 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 {
+      __ cmp(this->name(), Immediate(name));
+      __ j(not_equal, &miss);
+    }
   }

   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