Index: runtime/vm/assembler_macros_arm.cc |
=================================================================== |
--- runtime/vm/assembler_macros_arm.cc (revision 19430) |
+++ runtime/vm/assembler_macros_arm.cc (working copy) |
@@ -1,76 +0,0 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-#include "vm/globals.h" |
-#if defined(TARGET_ARCH_ARM) |
- |
-#include "vm/assembler_macros.h" |
- |
-#include "vm/assembler.h" |
- |
-namespace dart { |
- |
-#define __ assembler-> |
- |
- |
-void AssemblerMacros::TryAllocate(Assembler* assembler, |
- const Class& cls, |
- Label* failure, |
- bool near_jump, |
- Register instance_reg) { |
- UNIMPLEMENTED(); |
-} |
- |
- |
-void AssemblerMacros::EnterDartFrame(Assembler* assembler, |
- intptr_t frame_size) { |
- const intptr_t offset = assembler->CodeSize(); |
- // Save PC in frame for fast identification of corresponding code. |
- // Note that callee-saved registers can be added to the register list. |
- __ EnterFrame((1 << PP) | (1 << FP) | (1 << LR) | (1 << PC), 0); |
- |
- if (offset != 0) { |
- // Adjust saved PC for any intrinsic code that could have been generated |
- // before a frame is created. Use PP as temp register. |
- __ ldr(PP, Address(FP, 2 * kWordSize)); |
- __ AddImmediate(PP, PP, -offset); |
- __ str(PP, Address(FP, 2 * kWordSize)); |
- } |
- |
- // Setup pool pointer for this dart function. |
- const intptr_t object_pool_pc_dist = |
- Instructions::HeaderSize() - Instructions::object_pool_offset() + |
- assembler->CodeSize() + Instr::kPCReadOffset; |
- __ ldr(PP, Address(PC, -object_pool_pc_dist)); |
- |
- // Reserve space for locals. |
- __ AddImmediate(SP, -frame_size); |
-} |
- |
- |
-void AssemblerMacros::LeaveDartFrame(Assembler* assembler) { |
- __ LeaveFrame((1 << PP) | (1 << FP) | (1 << LR)); |
- // Adjust SP for PC pushed in EnterDartFrame. |
- __ AddImmediate(SP, kWordSize); |
-} |
- |
- |
-void AssemblerMacros::EnterStubFrame(Assembler* assembler) { |
- // Push 0 as saved PC for stub frames. |
- __ mov(IP, ShifterOperand(LR)); |
- __ mov(LR, ShifterOperand(0)); |
- __ EnterFrame((1 << FP) | (1 << IP) | (1 << LR), 0); |
-} |
- |
- |
-void AssemblerMacros::LeaveStubFrame(Assembler* assembler) { |
- __ LeaveFrame((1 << FP) | (1 << LR)); |
- // Adjust SP for null PC pushed in EnterStubFrame. |
- __ AddImmediate(SP, kWordSize); |
-} |
- |
-} // namespace dart |
- |
-#endif // defined TARGET_ARCH_ARM |
- |