Reviewers: danno, Toon Verwaest, paul.l..., gergely.kis.imgtec,
akos.palfi.imgtec, dusmil.imgtec,
Description:
MIPS: Move PropertyAccessCompiler and CallOptimization to their own files.
Port r23320 (ae06749)
BUG=
Please review this at https://codereview.chromium.org/498203002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+15, -60 lines):
M BUILD.gn
A + src/ic/mips/access-compiler-mips.cc
M src/ic/mips/ic-compiler-mips.cc
A + src/ic/mips64/access-compiler-mips64.cc
M src/ic/mips64/ic-compiler-mips64.cc
M tools/gyp/v8.gyp
Index: BUILD.gn
diff --git a/BUILD.gn b/BUILD.gn
index
71268e37d7a4beb9d0c4f883ed2786a6fdf091c0..a6ac27691450c6042f6e0f8d43118e9f2128c067
100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1062,6 +1062,7 @@ source_set("v8_base") {
"src/mips/regexp-macro-assembler-mips.cc",
"src/mips/regexp-macro-assembler-mips.h",
"src/mips/simulator-mips.cc",
+ "src/ic/mips/access-compiler-mips.cc",
"src/ic/mips/ic-mips.cc",
"src/ic/mips/ic-compiler-mips.cc",
"src/ic/mips/stub-cache-mips.cc",
Index: src/ic/mips/access-compiler-mips.cc
diff --git a/src/ic/arm/access-compiler-arm.cc
b/src/ic/mips/access-compiler-mips.cc
similarity index 81%
copy from src/ic/arm/access-compiler-arm.cc
copy to src/ic/mips/access-compiler-mips.cc
index
2a951571cb7f892396add04caede0598419cf73e..7abf748fb7caeb16d575db2caa045c690a902d5b
100644
--- a/src/ic/arm/access-compiler-arm.cc
+++ b/src/ic/mips/access-compiler-mips.cc
@@ -4,7 +4,7 @@
#include "src/v8.h"
-#if V8_TARGET_ARCH_ARM
+#if V8_TARGET_ARCH_MIPS
#include "src/ic/access-compiler.h"
@@ -24,7 +24,7 @@ Register*
PropertyAccessCompiler::load_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3, scratch4.
Register receiver = LoadIC::ReceiverRegister();
Register name = LoadIC::NameRegister();
- static Register registers[] = {receiver, name, r3, r0, r4, r5};
+ static Register registers[] = {receiver, name, a3, a0, t0, t1};
return registers;
}
@@ -33,8 +33,8 @@ Register*
PropertyAccessCompiler::store_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3.
Register receiver = StoreIC::ReceiverRegister();
Register name = StoreIC::NameRegister();
- DCHECK(r3.is(KeyedStoreIC::MapRegister()));
- static Register registers[] = {receiver, name, r3, r4, r5};
+ DCHECK(a3.is(KeyedStoreIC::MapRegister()));
+ static Register registers[] = {receiver, name, a3, t0, t1};
return registers;
}
@@ -43,4 +43,4 @@ Register*
PropertyAccessCompiler::store_calling_convention() {
}
} // namespace v8::internal
-#endif // V8_TARGET_ARCH_IA32
+#endif // V8_TARGET_ARCH_MIPS
Index: src/ic/mips/ic-compiler-mips.cc
diff --git a/src/ic/mips/ic-compiler-mips.cc
b/src/ic/mips/ic-compiler-mips.cc
index
d0e5a00ec03065b2850ad66c19b2bd4c178b7405..fa52cd8e83d2de27328dc295a4c7c2eab7b18ad1
100644
--- a/src/ic/mips/ic-compiler-mips.cc
+++ b/src/ic/mips/ic-compiler-mips.cc
@@ -6,6 +6,7 @@
#if V8_TARGET_ARCH_MIPS
+#include "src/ic/call-optimization.h"
#include "src/ic/ic-compiler.h"
namespace v8 {
@@ -201,12 +202,6 @@ void PropertyHandlerCompiler::GenerateFastApiCall(
}
-void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
- Handle<Code> code) {
- __ Jump(code, RelocInfo::CODE_TARGET);
-}
-
-
#undef __
#define __ ACCESS_MASM(masm())
@@ -747,25 +742,6 @@ Handle<Code>
NamedStoreHandlerCompiler::CompileStoreInterceptor(
}
-Register* PropertyAccessCompiler::load_calling_convention() {
- // receiver, name, scratch1, scratch2, scratch3, scratch4.
- Register receiver = LoadIC::ReceiverRegister();
- Register name = LoadIC::NameRegister();
- static Register registers[] = {receiver, name, a3, a0, t0, t1};
- return registers;
-}
-
-
-Register* PropertyAccessCompiler::store_calling_convention() {
- // receiver, name, scratch1, scratch2, scratch3.
- Register receiver = StoreIC::ReceiverRegister();
- Register name = StoreIC::NameRegister();
- DCHECK(a3.is(KeyedStoreIC::MapRegister()));
- static Register registers[] = {receiver, name, a3, t0, t1};
- return registers;
-}
-
-
Register NamedStoreHandlerCompiler::value() { return
StoreIC::ValueRegister(); }
Index: src/ic/mips64/access-compiler-mips64.cc
diff --git a/src/ic/arm/access-compiler-arm.cc
b/src/ic/mips64/access-compiler-mips64.cc
similarity index 81%
copy from src/ic/arm/access-compiler-arm.cc
copy to src/ic/mips64/access-compiler-mips64.cc
index
2a951571cb7f892396add04caede0598419cf73e..1249467b0d605c94896f648ad14afb4d7381a756
100644
--- a/src/ic/arm/access-compiler-arm.cc
+++ b/src/ic/mips64/access-compiler-mips64.cc
@@ -4,7 +4,7 @@
#include "src/v8.h"
-#if V8_TARGET_ARCH_ARM
+#if V8_TARGET_ARCH_MIPS64
#include "src/ic/access-compiler.h"
@@ -24,7 +24,7 @@ Register*
PropertyAccessCompiler::load_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3, scratch4.
Register receiver = LoadIC::ReceiverRegister();
Register name = LoadIC::NameRegister();
- static Register registers[] = {receiver, name, r3, r0, r4, r5};
+ static Register registers[] = {receiver, name, a3, a0, a4, a5};
return registers;
}
@@ -33,8 +33,8 @@ Register*
PropertyAccessCompiler::store_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3.
Register receiver = StoreIC::ReceiverRegister();
Register name = StoreIC::NameRegister();
- DCHECK(r3.is(KeyedStoreIC::MapRegister()));
- static Register registers[] = {receiver, name, r3, r4, r5};
+ DCHECK(a3.is(KeyedStoreIC::MapRegister()));
+ static Register registers[] = {receiver, name, a3, a4, a5};
return registers;
}
@@ -43,4 +43,4 @@ Register*
PropertyAccessCompiler::store_calling_convention() {
}
} // namespace v8::internal
-#endif // V8_TARGET_ARCH_IA32
+#endif // V8_TARGET_ARCH_MIPS64
Index: src/ic/mips64/ic-compiler-mips64.cc
diff --git a/src/ic/mips64/ic-compiler-mips64.cc
b/src/ic/mips64/ic-compiler-mips64.cc
index
ddb3117b5d13fe793016ac53764de4e12d51407a..1c137ce2df78512fbb2c4dbce1f379680ef4cd0b
100644
--- a/src/ic/mips64/ic-compiler-mips64.cc
+++ b/src/ic/mips64/ic-compiler-mips64.cc
@@ -6,6 +6,7 @@
#if V8_TARGET_ARCH_MIPS64
+#include "src/ic/call-optimization.h"
#include "src/ic/ic-compiler.h"
namespace v8 {
@@ -201,12 +202,6 @@ void PropertyHandlerCompiler::GenerateFastApiCall(
}
-void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
- Handle<Code> code) {
- __ Jump(code, RelocInfo::CODE_TARGET);
-}
-
-
#undef __
#define __ ACCESS_MASM(masm())
@@ -747,25 +742,6 @@ Handle<Code>
NamedStoreHandlerCompiler::CompileStoreInterceptor(
}
-Register* PropertyAccessCompiler::load_calling_convention() {
- // receiver, name, scratch1, scratch2, scratch3, scratch4.
- Register receiver = LoadIC::ReceiverRegister();
- Register name = LoadIC::NameRegister();
- static Register registers[] = {receiver, name, a3, a0, a4, a5};
- return registers;
-}
-
-
-Register* PropertyAccessCompiler::store_calling_convention() {
- // receiver, name, scratch1, scratch2, scratch3.
- Register receiver = StoreIC::ReceiverRegister();
- Register name = StoreIC::NameRegister();
- DCHECK(a3.is(KeyedStoreIC::MapRegister()));
- static Register registers[] = {receiver, name, a3, a4, a5};
- return registers;
-}
-
-
Register NamedStoreHandlerCompiler::value() { return
StoreIC::ValueRegister(); }
Index: tools/gyp/v8.gyp
diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp
index
c347f9df1a98aaeefaedeac132809cee6ee7be75..b6b0e2c25d7ef93e09fa17d3e359210c98d52d51
100644
--- a/tools/gyp/v8.gyp
+++ b/tools/gyp/v8.gyp
@@ -957,6 +957,7 @@
'../../src/mips/regexp-macro-assembler-mips.cc',
'../../src/mips/regexp-macro-assembler-mips.h',
'../../src/mips/simulator-mips.cc',
+ '../../src/ic/mips/access-compiler-mips.cc',
'../../src/ic/mips/ic-mips.cc',
'../../src/ic/mips/ic-compiler-mips.cc',
'../../src/ic/mips/stub-cache-mips.cc',
@@ -992,6 +993,7 @@
'../../src/mips64/regexp-macro-assembler-mips64.cc',
'../../src/mips64/regexp-macro-assembler-mips64.h',
'../../src/mips64/simulator-mips64.cc',
+ '../../src/ic/mips64/access-compiler-mips64.cc',
'../../src/ic/mips64/ic-mips64.cc',
'../../src/ic/mips64/ic-compiler-mips64.cc',
'../../src/ic/mips64/stub-cache-mips64.cc',
--
--
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.