1// 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_ 57