| 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 |
| 11 | 11 |
| 12 #include "platform/assert.h" | 12 #include "platform/assert.h" |
| 13 #include "platform/utils.h" | 13 #include "platform/utils.h" |
| 14 #include "vm/constants_arm.h" | 14 #include "vm/constants_arm.h" |
| 15 #include "vm/cpu.h" |
| 15 #include "vm/object.h" | 16 #include "vm/object.h" |
| 16 #include "vm/simulator.h" | 17 #include "vm/simulator.h" |
| 17 | 18 |
| 18 namespace dart { | 19 namespace dart { |
| 19 | 20 |
| 20 // Forward declarations. | 21 // Forward declarations. |
| 21 class RuntimeEntry; | 22 class RuntimeEntry; |
| 22 | 23 |
| 23 class Label : public ValueObject { | 24 class Label : public ValueObject { |
| 24 public: | 25 public: |
| (...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 767 void EnterOsrFrame(intptr_t extra_size); | 768 void EnterOsrFrame(intptr_t extra_size); |
| 768 | 769 |
| 769 // Set up a stub frame so that the stack traversal code can easily identify | 770 // Set up a stub frame so that the stack traversal code can easily identify |
| 770 // a stub frame. | 771 // a stub frame. |
| 771 void EnterStubFrame(bool load_pp = false); | 772 void EnterStubFrame(bool load_pp = false); |
| 772 void LeaveStubFrame(); | 773 void LeaveStubFrame(); |
| 773 | 774 |
| 774 // Instruction pattern from entrypoint is used in Dart frame prologs | 775 // Instruction pattern from entrypoint is used in Dart frame prologs |
| 775 // to set up the frame and save a PC which can be used to figure out the | 776 // to set up the frame and save a PC which can be used to figure out the |
| 776 // RawInstruction object corresponding to the code running in the frame. | 777 // RawInstruction object corresponding to the code running in the frame. |
| 777 static const intptr_t kEntryPointToPcMarkerOffset = Instr::kPCReadOffset; | 778 static intptr_t EntryPointToPcMarkerOffset() { |
| 779 return TargetCPUFeatures::store_pc_read_offset(); |
| 780 } |
| 778 | 781 |
| 779 void UpdateAllocationStats(intptr_t cid, | 782 void UpdateAllocationStats(intptr_t cid, |
| 780 Register temp_reg, | 783 Register temp_reg, |
| 781 Heap::Space space = Heap::kNew); | 784 Heap::Space space = Heap::kNew); |
| 782 | 785 |
| 783 void UpdateAllocationStatsWithSize(intptr_t cid, | 786 void UpdateAllocationStatsWithSize(intptr_t cid, |
| 784 Register size_reg, | 787 Register size_reg, |
| 785 Register temp_reg, | 788 Register temp_reg, |
| 786 Heap::Space space = Heap::kNew); | 789 Heap::Space space = Heap::kNew); |
| 787 | 790 |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 963 Register value, | 966 Register value, |
| 964 Label* no_update); | 967 Label* no_update); |
| 965 | 968 |
| 966 DISALLOW_ALLOCATION(); | 969 DISALLOW_ALLOCATION(); |
| 967 DISALLOW_COPY_AND_ASSIGN(Assembler); | 970 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 968 }; | 971 }; |
| 969 | 972 |
| 970 } // namespace dart | 973 } // namespace dart |
| 971 | 974 |
| 972 #endif // VM_ASSEMBLER_ARM_H_ | 975 #endif // VM_ASSEMBLER_ARM_H_ |
| OLD | NEW |