Revision: 23381
Author:   [email protected]
Date:     Tue Aug 26 05:25:36 2014 UTC
Log:      X87: Move "slow handler" compiler code to handler-compiler

port r23347.

original commit message:

 Move "slow handler" compiler code to handler-compiler

BUG=
[email protected]

Review URL: https://codereview.chromium.org/504043003

Patch from Chunyang Dai <[email protected]>.
https://code.google.com/p/v8/source/detail?r=23381

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

=======================================
--- /branches/bleeding_edge/src/ic/x87/handler-compiler-x87.cc Tue Aug 26 03:56:24 2014 UTC +++ /branches/bleeding_edge/src/ic/x87/handler-compiler-x87.cc Tue Aug 26 05:25:36 2014 UTC
@@ -324,6 +324,41 @@
__ CallExternalReference(ExternalReference(IC_Utility(id), masm->isolate()), NamedLoadHandlerCompiler::kInterceptorArgsLength);
 }
+
+
+static void StoreIC_PushArgs(MacroAssembler* masm) {
+  Register receiver = StoreIC::ReceiverRegister();
+  Register name = StoreIC::NameRegister();
+  Register value = StoreIC::ValueRegister();
+
+  DCHECK(!ebx.is(receiver) && !ebx.is(name) && !ebx.is(value));
+
+  __ pop(ebx);
+  __ push(receiver);
+  __ push(name);
+  __ push(value);
+  __ push(ebx);
+}
+
+
+void NamedStoreHandlerCompiler::GenerateSlow(MacroAssembler* masm) {
+  // Return address is on the stack.
+  StoreIC_PushArgs(masm);
+
+  // Do tail-call to runtime routine.
+  ExternalReference ref(IC_Utility(IC::kStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}
+
+
+void ElementHandlerCompiler::GenerateStoreSlow(MacroAssembler* masm) {
+  // Return address is on the stack.
+  StoreIC_PushArgs(masm);
+
+  // Do tail-call to runtime routine.
+ ExternalReference ref(IC_Utility(IC::kKeyedStoreIC_Slow), masm->isolate());
+  __ TailCallExternalReference(ref, 3, 1);
+}


 #undef __
=======================================
--- /branches/bleeding_edge/src/ic/x87/ic-x87.cc Mon Aug 25 09:57:11 2014 UTC +++ /branches/bleeding_edge/src/ic/x87/ic-x87.cc Tue Aug 26 05:25:36 2014 UTC
@@ -1017,26 +1017,6 @@
       ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate());
   __ TailCallExternalReference(ref, 3, 1);
 }
-
-
-void StoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Return address is on the stack.
-  StoreIC_PushArgs(masm);
-
-  // Do tail-call to runtime routine.
-  ExternalReference ref(IC_Utility(kStoreIC_Slow), masm->isolate());
-  __ TailCallExternalReference(ref, 3, 1);
-}
-
-
-void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) {
-  // Return address is on the stack.
-  StoreIC_PushArgs(masm);
-
-  // Do tail-call to runtime routine.
-  ExternalReference ref(IC_Utility(kKeyedStoreIC_Slow), masm->isolate());
-  __ TailCallExternalReference(ref, 3, 1);
-}


 #undef __

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