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.

Reply via email to