MIPS: Move PropertyAccessCompiler and CallOptimization to their own files.

Port r23320 (ae06749)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
balazs.kilvady@imgtec.com 2014-08-25 11:35:22 +00:00
parent 01cfeb1205
commit be0d658d61
6 changed files with 97 additions and 50 deletions

View File

@ -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",

View File

@ -0,0 +1,46 @@
// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/v8.h"
#if V8_TARGET_ARCH_MIPS
#include "src/ic/access-compiler.h"
namespace v8 {
namespace internal {
#define __ ACCESS_MASM(masm)
void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
Handle<Code> code) {
__ Jump(code, RelocInfo::CODE_TARGET);
}
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;
}
#undef __
}
} // namespace v8::internal
#endif // V8_TARGET_ARCH_MIPS

View File

@ -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(); }

View File

@ -0,0 +1,46 @@
// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/v8.h"
#if V8_TARGET_ARCH_MIPS64
#include "src/ic/access-compiler.h"
namespace v8 {
namespace internal {
#define __ ACCESS_MASM(masm)
void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
Handle<Code> code) {
__ Jump(code, RelocInfo::CODE_TARGET);
}
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;
}
#undef __
}
} // namespace v8::internal
#endif // V8_TARGET_ARCH_MIPS64

View File

@ -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(); }

View File

@ -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',