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_IA32 6 7 #include "src/ic/access-compiler.h" 8 9 namespace v8 { 10 namespace internal { 11 12 #define __ ACCESS_MASM(masm) 13 14 void PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm, 15 Handle<Code> code) { 16 __ jmp(code, RelocInfo::CODE_TARGET); 17 } 18 19 20 Register* PropertyAccessCompiler::load_calling_convention() { 21 // receiver, name, scratch1, scratch2, scratch3, scratch4. 22 Register receiver = LoadDescriptor::ReceiverRegister(); 23 Register name = LoadDescriptor::NameRegister(); 24 static Register registers[] = {receiver, name, ebx, eax, edi, no_reg}; 25 return registers; 26 } 27 28 29 Register* PropertyAccessCompiler::store_calling_convention() { 30 // receiver, name, scratch1, scratch2, scratch3. 31 Register receiver = StoreDescriptor::ReceiverRegister(); 32 Register name = StoreDescriptor::NameRegister(); 33 static Register registers[] = {receiver, name, ebx, edi, no_reg}; 34 return registers; 35 } 36 37 #undef __ 38 } // namespace internal 39 } // namespace v8 40 41 #endif // V8_TARGET_ARCH_IA32 42