Home | History | Annotate | Download | only in arm64
      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_ARM64_DELAYED_MASM_ARM64_INL_H_
      6 #define V8_ARM64_DELAYED_MASM_ARM64_INL_H_
      7 
      8 #include "src/arm64/delayed-masm-arm64.h"
      9 
     10 namespace v8 {
     11 namespace internal {
     12 
     13 #define __ ACCESS_MASM(masm_)
     14 
     15 
     16 void DelayedMasm::EndDelayedUse() {
     17   EmitPending();
     18   DCHECK(!scratch_register_acquired_);
     19   ResetSavedValue();
     20 }
     21 
     22 
     23 void 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 
     32 void DelayedMasm::Fmov(FPRegister fd, FPRegister fn) {
     33   EmitPending();
     34   __ Fmov(fd, fn);
     35 }
     36 
     37 
     38 void DelayedMasm::Fmov(FPRegister fd, double imm) {
     39   EmitPending();
     40   __ Fmov(fd, imm);
     41 }
     42 
     43 
     44 void 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 v8::internal
     54 
     55 #endif  // V8_ARM64_DELAYED_MASM_ARM64_INL_H_
     56