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.