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_ARM64 6 7 #include "src/ic/ic.h" 8 #include "src/ic/ic-compiler.h" 9 10 namespace v8 { 11 namespace internal { 12 13 #define __ ACCESS_MASM(masm) 14 GenerateRuntimeSetProperty(MacroAssembler * masm,LanguageMode language_mode)15void PropertyICCompiler::GenerateRuntimeSetProperty( 16 MacroAssembler* masm, LanguageMode language_mode) { 17 ASM_LOCATION("PropertyICCompiler::GenerateRuntimeSetProperty"); 18 19 __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), 20 StoreDescriptor::ValueRegister()); 21 22 __ Mov(x10, Smi::FromInt(language_mode)); 23 __ Push(x10); 24 25 // Do tail-call to runtime routine. 26 __ TailCallRuntime(Runtime::kSetProperty); 27 } 28 29 #undef __ 30 } // namespace internal 31 } // namespace v8 32 33 #endif // V8_TARGET_ARCH_ARM64 34