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.