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 #ifndef VM_ASSEMBLER_ARM_H_ | 5 #ifndef VM_ASSEMBLER_ARM_H_ |
6 #define VM_ASSEMBLER_ARM_H_ | 6 #define VM_ASSEMBLER_ARM_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_arm.h directly; use assembler.h instead. | 9 #error Do not include assembler_arm.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 void LeaveFrame(RegList regs); | 692 void LeaveFrame(RegList regs); |
693 void Ret(); | 693 void Ret(); |
694 void ReserveAlignedFrameSpace(intptr_t frame_space); | 694 void ReserveAlignedFrameSpace(intptr_t frame_space); |
695 | 695 |
696 // Create a frame for calling into runtime that preserves all volatile | 696 // Create a frame for calling into runtime that preserves all volatile |
697 // registers. Frame's SP is guaranteed to be correctly aligned and | 697 // registers. Frame's SP is guaranteed to be correctly aligned and |
698 // frame_space bytes are reserved under it. | 698 // frame_space bytes are reserved under it. |
699 void EnterCallRuntimeFrame(intptr_t frame_space); | 699 void EnterCallRuntimeFrame(intptr_t frame_space); |
700 void LeaveCallRuntimeFrame(); | 700 void LeaveCallRuntimeFrame(); |
701 | 701 |
702 void CallRuntime(const RuntimeEntry& entry); | 702 void CallRuntime(const RuntimeEntry& entry, intptr_t argument_count); |
703 | 703 |
704 // Set up a Dart frame on entry with a frame pointer and PC information to | 704 // Set up a Dart frame on entry with a frame pointer and PC information to |
705 // enable easy access to the RawInstruction object of code corresponding | 705 // enable easy access to the RawInstruction object of code corresponding |
706 // to this frame. | 706 // to this frame. |
707 void EnterDartFrame(intptr_t frame_size); | 707 void EnterDartFrame(intptr_t frame_size); |
708 void LeaveDartFrame(); | 708 void LeaveDartFrame(); |
709 | 709 |
710 // Set up a Dart frame for a function compiled for on-stack replacement. | 710 // Set up a Dart frame for a function compiled for on-stack replacement. |
711 // The frame layout is a normal Dart frame, but the frame is partially set | 711 // The frame layout is a normal Dart frame, but the frame is partially set |
712 // up on entry (it is the frame of the unoptimized code). | 712 // up on entry (it is the frame of the unoptimized code). |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 Register value, | 868 Register value, |
869 Label* no_update); | 869 Label* no_update); |
870 | 870 |
871 DISALLOW_ALLOCATION(); | 871 DISALLOW_ALLOCATION(); |
872 DISALLOW_COPY_AND_ASSIGN(Assembler); | 872 DISALLOW_COPY_AND_ASSIGN(Assembler); |
873 }; | 873 }; |
874 | 874 |
875 } // namespace dart | 875 } // namespace dart |
876 | 876 |
877 #endif // VM_ASSEMBLER_ARM_H_ | 877 #endif // VM_ASSEMBLER_ARM_H_ |
OLD | NEW |