X87: Move PropertyAccessCompiler and CallOptimization to their own files

port r23320.

orginal commit message:

  Move PropertyAccessCompiler and CallOptimization to their own files

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d650d999
// 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_X87
#include "src/ic/access-compiler.h"
namespace v8 {
namespace internal {
#define __ ACCESS_MASM(masm)
void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
Handle<Code> code) {
__ jmp(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, ebx, eax, edi, no_reg};
return registers;
}
Register* PropertyAccessCompiler::store_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3.
Register receiver = StoreIC::ReceiverRegister();
Register name = StoreIC::NameRegister();
DCHECK(ebx.is(KeyedStoreIC::MapRegister()));
static Register registers[] = {receiver, name, ebx, edi, no_reg};
return registers;
}
#undef __
}
} // namespace v8::internal
#endif // V8_TARGET_ARCH_X87
......@@ -6,6 +6,7 @@
#if V8_TARGET_ARCH_X87
#include "src/ic/call-optimization.h"
#include "src/ic/ic-compiler.h"
namespace v8 {
......@@ -206,12 +207,6 @@ void PropertyHandlerCompiler::GenerateCheckPropertyCell(
}
void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
Handle<Code> code) {
__ jmp(code, RelocInfo::CODE_TARGET);
}
#undef __
#define __ ACCESS_MASM(masm())
......@@ -780,25 +775,6 @@ Handle<Code> PropertyICCompiler::CompileKeyedStorePolymorphic(
}
Register* PropertyAccessCompiler::load_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3, scratch4.
Register receiver = LoadIC::ReceiverRegister();
Register name = LoadIC::NameRegister();
static Register registers[] = {receiver, name, ebx, eax, edi, no_reg};
return registers;
}
Register* PropertyAccessCompiler::store_calling_convention() {
// receiver, name, scratch1, scratch2, scratch3.
Register receiver = StoreIC::ReceiverRegister();
Register name = StoreIC::NameRegister();
DCHECK(ebx.is(KeyedStoreIC::MapRegister()));
static Register registers[] = {receiver, name, ebx, edi, no_reg};
return registers;
}
Register NamedStoreHandlerCompiler::value() { return StoreIC::ValueRegister(); }
......
......@@ -922,6 +922,7 @@
'../../src/x87/macro-assembler-x87.h',
'../../src/x87/regexp-macro-assembler-x87.cc',
'../../src/x87/regexp-macro-assembler-x87.h',
'../../src/ic/x87/access-compiler-x87.cc',
'../../src/ic/x87/ic-x87.cc',
'../../src/ic/x87/ic-compiler-x87.cc',
'../../src/ic/x87/stub-cache-x87.cc',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment