blob: 503fd88ded670577e76b9c26e0dfcb3b07613024 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2013 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#ifndef V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_INL_H_
6#define V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_INL_H_
7
8#include "src/crankshaft/arm64/delayed-masm-arm64.h"
9
10namespace v8 {
11namespace internal {
12
13#define __ ACCESS_MASM(masm_)
14
15
16void DelayedMasm::EndDelayedUse() {
17 EmitPending();
18 DCHECK(!scratch_register_acquired_);
19 ResetSavedValue();
20}
21
22
23void DelayedMasm::Mov(const Register& rd,
24 const Operand& operand,
25 DiscardMoveMode discard_mode) {
26 EmitPending();
27 DCHECK(!IsScratchRegister(rd) || scratch_register_acquired_);
28 __ Mov(rd, operand, discard_mode);
29}
30
31
32void DelayedMasm::Fmov(FPRegister fd, FPRegister fn) {
33 EmitPending();
34 __ Fmov(fd, fn);
35}
36
37
38void DelayedMasm::Fmov(FPRegister fd, double imm) {
39 EmitPending();
40 __ Fmov(fd, imm);
41}
42
43
44void DelayedMasm::LoadObject(Register result, Handle<Object> object) {
45 EmitPending();
46 DCHECK(!IsScratchRegister(result) || scratch_register_acquired_);
47 __ LoadObject(result, object);
48}
49
50
51#undef __
52
53} // namespace internal
54} // namespace v8
55
56#endif // V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_INL_H_