1// Copyright 2014 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#if V8_TARGET_ARCH_X64 6 7#include "src/ic/access-compiler.h" 8 9namespace v8 { 10namespace internal { 11 12#define __ ACCESS_MASM(masm) 13 14void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm, 15 Handle<Code> code) { 16 __ jmp(code, RelocInfo::CODE_TARGET); 17} 18 19void PropertyAccessCompiler::InitializePlatformSpecific( 20 AccessCompilerData* data) { 21 Register receiver = LoadDescriptor::ReceiverRegister(); 22 Register name = LoadDescriptor::NameRegister(); 23 24 // Load calling convention. 25 // receiver, name, scratch1, scratch2, scratch3. 26 Register load_registers[] = {receiver, name, rax, rbx, rdi}; 27 28 // Store calling convention. 29 // receiver, name, scratch1, scratch2. 30 Register store_registers[] = {receiver, name, rbx, rdi}; 31 32 data->Initialize(arraysize(load_registers), load_registers, 33 arraysize(store_registers), store_registers); 34} 35 36#undef __ 37} // namespace internal 38} // namespace v8 39 40#endif // V8_TARGET_ARCH_X64 41