Revision: 23367
Author:   [email protected]
Date:     Mon Aug 25 16:15:50 2014 UTC
Log:      MIPS: Move "slow handler" compiler code to handler-compiler.

Port r23347 (e4cba22)

BUG=
[email protected]

Review URL: https://codereview.chromium.org/488103004
https://code.google.com/p/v8/source/detail?r=23367

Modified:
 /branches/bleeding_edge/src/ic/mips/handler-compiler-mips.cc
 /branches/bleeding_edge/src/ic/mips/ic-mips.cc
 /branches/bleeding_edge/src/ic/mips64/handler-compiler-mips64.cc
 /branches/bleeding_edge/src/ic/mips64/ic-mips64.cc

=======================================
--- /branches/bleeding_edge/src/ic/mips/handler-compiler-mips.cc Mon Aug 25 15:15:26 2014 UTC +++ /branches/bleeding_edge/src/ic/mips/handler-compiler-mips.cc Mon Aug 25 16:15:50 2014 UTC
@@ -308,6 +308,32 @@

   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
 }
+
+
+void NamedStoreHandlerCompiler::GenerateSlow(MacroAssembler* masm) {
+  // Push receiver, key and value for runtime call.
+  __ Push(StoreIC::ReceiverRegister(), StoreIC::NameRegister(),
+          StoreIC::ValueRegister());
+
+ // The slow case calls into the runtime to complete the store without causing + // an IC miss that would otherwise cause a transition to the generic stub.
+  ExternalReference ref =
+      ExternalReference(IC_Utility(IC::kStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}
+
+
+void ElementHandlerCompiler::GenerateStoreSlow(MacroAssembler* masm) {
+  // Push receiver, key and value for runtime call.
+  __ Push(StoreIC::ReceiverRegister(), StoreIC::NameRegister(),
+          StoreIC::ValueRegister());
+
+ // The slow case calls into the runtime to complete the store without causing + // an IC miss that would otherwise cause a transition to the generic stub.
+  ExternalReference ref =
+ ExternalReference(IC_Utility(IC::kKeyedStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}


 #undef __
=======================================
--- /branches/bleeding_edge/src/ic/mips/ic-mips.cc Mon Aug 25 09:55:41 2014 UTC +++ /branches/bleeding_edge/src/ic/mips/ic-mips.cc Mon Aug 25 16:15:50 2014 UTC
@@ -977,32 +977,6 @@
       ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
   __ TailCallExternalReference(ref, 3, 1);
 }
-
-
-void StoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Push receiver, key and value for runtime call.
-  __ Push(ReceiverRegister(), NameRegister(), ValueRegister());
-
- // The slow case calls into the runtime to complete the store without causing - // an IC miss that would otherwise cause a transition to the generic stub.
-  ExternalReference ref =
-      ExternalReference(IC_Utility(kStoreIC_Slow), masm->isolate());
-  __ TailCallExternalReference(ref, 3, 1);
-}
-
-
-void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Push receiver, key and value for runtime call.
-  // We can't use MultiPush as the order of the registers is important.
-  __ Push(ReceiverRegister(), NameRegister(), ValueRegister());
-
- // The slow case calls into the runtime to complete the store without causing - // an IC miss that would otherwise cause a transition to the generic stub.
-  ExternalReference ref =
-      ExternalReference(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
-
-  __ TailCallExternalReference(ref, 3, 1);
-}


 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {
=======================================
--- /branches/bleeding_edge/src/ic/mips64/handler-compiler-mips64.cc Mon Aug 25 15:15:26 2014 UTC +++ /branches/bleeding_edge/src/ic/mips64/handler-compiler-mips64.cc Mon Aug 25 16:15:50 2014 UTC
@@ -309,6 +309,32 @@

   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
 }
+
+
+void NamedStoreHandlerCompiler::GenerateSlow(MacroAssembler* masm) {
+  // Push receiver, key and value for runtime call.
+  __ Push(StoreIC::ReceiverRegister(), StoreIC::NameRegister(),
+          StoreIC::ValueRegister());
+
+ // The slow case calls into the runtime to complete the store without causing + // an IC miss that would otherwise cause a transition to the generic stub.
+  ExternalReference ref =
+      ExternalReference(IC_Utility(IC::kStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}
+
+
+void ElementHandlerCompiler::GenerateStoreSlow(MacroAssembler* masm) {
+  // Push receiver, key and value for runtime call.
+  __ Push(StoreIC::ReceiverRegister(), StoreIC::NameRegister(),
+          StoreIC::ValueRegister());
+
+ // The slow case calls into the runtime to complete the store without causing + // an IC miss that would otherwise cause a transition to the generic stub.
+  ExternalReference ref =
+ ExternalReference(IC_Utility(IC::kKeyedStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}


 #undef __
=======================================
--- /branches/bleeding_edge/src/ic/mips64/ic-mips64.cc Mon Aug 25 09:55:41 2014 UTC +++ /branches/bleeding_edge/src/ic/mips64/ic-mips64.cc Mon Aug 25 16:15:50 2014 UTC
@@ -986,31 +986,6 @@
       ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
   __ TailCallExternalReference(ref, 3, 1);
 }
-
-
-void StoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Push receiver, key and value for runtime call.
-  __ Push(ReceiverRegister(), NameRegister(), ValueRegister());
-
- // The slow case calls into the runtime to complete the store without causing - // an IC miss that would otherwise cause a transition to the generic stub.
-  ExternalReference ref =
-      ExternalReference(IC_Utility(kStoreIC_Slow), masm->isolate());
-  __ TailCallExternalReference(ref, 3, 1);
-}
-
-
-void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Push receiver, key and value for runtime call.
-  // We can't use MultiPush as the order of the registers is important.
-  __ Push(ReceiverRegister(), NameRegister(), ValueRegister());
- // The slow case calls into the runtime to complete the store without causing - // an IC miss that would otherwise cause a transition to the generic stub.
-  ExternalReference ref =
-      ExternalReference(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
-
-  __ TailCallExternalReference(ref, 3, 1);
-}


 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {

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