| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/longjump.h" | 9 #include "vm/longjump.h" |
| 10 #include "vm/runtime_entry.h" | 10 #include "vm/runtime_entry.h" |
| (...skipping 2464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2475 | 2475 |
| 2476 void Assembler::Ret() { | 2476 void Assembler::Ret() { |
| 2477 bx(LR); | 2477 bx(LR); |
| 2478 } | 2478 } |
| 2479 | 2479 |
| 2480 | 2480 |
| 2481 void Assembler::ReserveAlignedFrameSpace(intptr_t frame_space) { | 2481 void Assembler::ReserveAlignedFrameSpace(intptr_t frame_space) { |
| 2482 // Reserve space for arguments and align frame before entering | 2482 // Reserve space for arguments and align frame before entering |
| 2483 // the C++ world. | 2483 // the C++ world. |
| 2484 AddImmediate(SP, -frame_space); | 2484 AddImmediate(SP, -frame_space); |
| 2485 if (OS::ActivationFrameAlignment() > 0) { | 2485 if (OS::ActivationFrameAlignment() > 1) { |
| 2486 bic(SP, SP, ShifterOperand(OS::ActivationFrameAlignment() - 1)); | 2486 bic(SP, SP, ShifterOperand(OS::ActivationFrameAlignment() - 1)); |
| 2487 } | 2487 } |
| 2488 } | 2488 } |
| 2489 | 2489 |
| 2490 | 2490 |
| 2491 void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) { | 2491 void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) { |
| 2492 // Preserve volatile CPU registers. | 2492 // Preserve volatile CPU registers. |
| 2493 EnterFrame(kDartVolatileCpuRegs | (1 << FP) | (1 << LR), 0); | 2493 EnterFrame(kDartVolatileCpuRegs | (1 << FP) | (1 << LR), 0); |
| 2494 | 2494 |
| 2495 // Preserve all volatile FPU registers. | 2495 // Preserve all volatile FPU registers. |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2730 | 2730 |
| 2731 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 2731 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 2732 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); | 2732 ASSERT((0 <= reg) && (reg < kNumberOfFpuRegisters)); |
| 2733 return fpu_reg_names[reg]; | 2733 return fpu_reg_names[reg]; |
| 2734 } | 2734 } |
| 2735 | 2735 |
| 2736 } // namespace dart | 2736 } // namespace dart |
| 2737 | 2737 |
| 2738 #endif // defined TARGET_ARCH_ARM | 2738 #endif // defined TARGET_ARCH_ARM |
| 2739 | 2739 |
| OLD | NEW |