Revision: 17806
Author:   [email protected]
Date:     Fri Nov 15 21:12:51 2013 UTC
Log:      MIPS: Generate KeyedLoadDictionaryElementStub with Hydrogen

Port r17804 (15aa3804)

BUG=
[email protected]

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

Modified:
 /branches/bleeding_edge/src/mips/code-stubs-mips.cc
 /branches/bleeding_edge/src/mips/macro-assembler-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/code-stubs-mips.cc Fri Nov 15 17:34:34 2013 UTC +++ /branches/bleeding_edge/src/mips/code-stubs-mips.cc Fri Nov 15 21:12:51 2013 UTC
@@ -112,6 +112,17 @@
   descriptor->deoptimization_handler_ =
       FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure);
 }
+
+
+void KeyedLoadDictionaryElementStub::InitializeInterfaceDescriptor(
+    Isolate* isolate,
+    CodeStubInterfaceDescriptor* descriptor) {
+  static Register registers[] = {a1, a0 };
+  descriptor->register_param_count_ = 2;
+  descriptor->register_params_ = registers;
+  descriptor->deoptimization_handler_ =
+      FUNCTION_ADDR(KeyedLoadIC_MissFromStubFailure);
+}


 void LoadFieldStub::InitializeInterfaceDescriptor(
=======================================
--- /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Thu Nov 14 18:48:54 2013 UTC +++ /branches/bleeding_edge/src/mips/macro-assembler-mips.cc Fri Nov 15 21:12:51 2013 UTC
@@ -510,8 +510,7 @@
   Subu(reg1, reg1, Operand(1));

   // Generate an unrolled loop that performs a few probes before giving up.
-  static const int kProbes = 4;
-  for (int i = 0; i < kProbes; i++) {
+  for (int i = 0; i < kNumberDictionaryProbes; i++) {
     // Use reg2 for index calculations and keep the hash intact in reg0.
     mov(reg2, reg0);
     // Compute the masked index: (hash + i + i * i) & mask.
@@ -530,7 +529,7 @@
     addu(reg2, elements, at);

lw(at, FieldMemOperand(reg2, SeededNumberDictionary::kElementsStartOffset));
-    if (i != kProbes - 1) {
+    if (i != kNumberDictionaryProbes - 1) {
       Branch(&done, eq, key, Operand(at));
     } else {
       Branch(miss, ne, key, Operand(at));

--
--
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/groups/opt_out.

Reply via email to