Revision: 23344
Author:   [email protected]
Date:     Mon Aug 25 09:57:11 2014 UTC
Log: X87: Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler

port r23311.

original commit message:
Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler

x

BUG=
[email protected], [email protected]

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

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

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

=======================================
--- /branches/bleeding_edge/src/ic/x87/ic-compiler-x87.cc Mon Aug 25 09:00:04 2014 UTC +++ /branches/bleeding_edge/src/ic/x87/ic-compiler-x87.cc Mon Aug 25 09:57:11 2014 UTC
@@ -979,6 +979,23 @@
   // -----------------------------------
   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
 }
+
+
+void PropertyICCompiler::GenerateRuntimeSetProperty(MacroAssembler* masm,
+ StrictMode strict_mode) {
+  // Return address is on the stack.
+  DCHECK(!ebx.is(StoreIC::ReceiverRegister()) &&
+ !ebx.is(StoreIC::NameRegister()) && !ebx.is(StoreIC::ValueRegister()));
+  __ pop(ebx);
+  __ push(StoreIC::ReceiverRegister());
+  __ push(StoreIC::NameRegister());
+  __ push(StoreIC::ValueRegister());
+  __ push(Immediate(Smi::FromInt(strict_mode)));
+  __ push(ebx);  // return address
+
+  // Do tail-call to runtime routine.
+  __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
+}


 #undef __
=======================================
--- /branches/bleeding_edge/src/ic/x87/ic-x87.cc Mon Aug 25 09:00:04 2014 UTC +++ /branches/bleeding_edge/src/ic/x87/ic-x87.cc Mon Aug 25 09:57:11 2014 UTC
@@ -8,6 +8,7 @@

 #include "src/codegen.h"
 #include "src/ic/ic.h"
+#include "src/ic/ic-compiler.h"
 #include "src/ic/stub-cache.h"

 namespace v8 {
@@ -778,7 +779,7 @@

   // Slow case: call runtime.
   __ bind(&slow);
-  GenerateRuntimeSetProperty(masm, strict_mode);
+  PropertyICCompiler::GenerateRuntimeSetProperty(masm, strict_mode);

   // Extra capacity case: Check if there is extra capacity to
   // perform the store and update the length. Used for adding one
@@ -1005,40 +1006,6 @@
   __ IncrementCounter(counters->store_normal_miss(), 1);
   GenerateMiss(masm);
 }
-
-
-void StoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
-                                         StrictMode strict_mode) {
-  // Return address is on the stack.
-  DCHECK(!ebx.is(ReceiverRegister()) && !ebx.is(NameRegister()) &&
-         !ebx.is(ValueRegister()));
-  __ pop(ebx);
-  __ push(ReceiverRegister());
-  __ push(NameRegister());
-  __ push(ValueRegister());
-  __ push(Immediate(Smi::FromInt(strict_mode)));
-  __ push(ebx);  // return address
-
-  // Do tail-call to runtime routine.
-  __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
-}
-
-
-void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
-                                              StrictMode strict_mode) {
-  // Return address is on the stack.
-  DCHECK(!ebx.is(ReceiverRegister()) && !ebx.is(NameRegister()) &&
-         !ebx.is(ValueRegister()));
-  __ pop(ebx);
-  __ push(ReceiverRegister());
-  __ push(NameRegister());
-  __ push(ValueRegister());
-  __ push(Immediate(Smi::FromInt(strict_mode)));
-  __ push(ebx);  // return address
-
-  // Do tail-call to runtime routine.
-  __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
-}


 void KeyedStoreIC::GenerateMiss(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