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
10namespace v8 {
11namespace internal {
12
13#define __ ACCESS_MASM(masm)
14
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