| Index: src/arm64/delayed-masm-arm64-inl.h
|
| diff --git a/src/arm64/delayed-masm-arm64-inl.h b/src/arm64/delayed-masm-arm64-inl.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..089ec22aed6ca301fa712dc049efc1852b5d0169
|
| --- /dev/null
|
| +++ b/src/arm64/delayed-masm-arm64-inl.h
|
| @@ -0,0 +1,65 @@
|
| +// Copyright 2013 the V8 project authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef V8_ARM64_DELAYED_MASM_ARM64_INL_H_
|
| +#define V8_ARM64_DELAYED_MASM_ARM64_INL_H_
|
| +
|
| +#include "src/arm64/delayed-masm-arm64.h"
|
| +
|
| +namespace v8 {
|
| +namespace internal {
|
| +
|
| +#define __ ACCESS_MASM(masm_)
|
| +
|
| +
|
| +void DelayedMasm::EndDelayedUse() {
|
| + EmitPending();
|
| + ASSERT(!scratch_register_acquired_);
|
| + ResetSavedValue();
|
| +}
|
| +
|
| +
|
| +void DelayedMasm::Mov(const Register& rd,
|
| + const Operand& operand,
|
| + DiscardMoveMode discard_mode) {
|
| + EmitPending();
|
| + __ Mov(rd, operand, discard_mode);
|
| + if (IsScratchRegister(rd)) {
|
| + ASSERT(scratch_register_acquired_);
|
| + if (operand.IsImmediate()) {
|
| + saved_value_ = operand.immediate();
|
| + } else {
|
| + ResetSavedValue();
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| +void DelayedMasm::Fmov(FPRegister fd, FPRegister fn) {
|
| + EmitPending();
|
| + __ Fmov(fd, fn);
|
| +}
|
| +
|
| +
|
| +void DelayedMasm::Fmov(FPRegister fd, double imm) {
|
| + EmitPending();
|
| + __ Fmov(fd, imm);
|
| +}
|
| +
|
| +
|
| +void DelayedMasm::LoadObject(Register result, Handle<Object> object) {
|
| + EmitPending();
|
| + __ LoadObject(result, object);
|
| + if (IsScratchRegister(result)) {
|
| + ASSERT(scratch_register_acquired_);
|
| + ResetSavedValue();
|
| + }
|
| +}
|
| +
|
| +
|
| +#undef __
|
| +
|
| +} } // namespace v8::internal
|
| +
|
| +#endif // V8_ARM64_DELAYED_MASM_ARM64_INL_H_
|
|
|