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