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_MIPS_H_ | 5 #ifndef VM_ASSEMBLER_MIPS_H_ |
6 #define VM_ASSEMBLER_MIPS_H_ | 6 #define VM_ASSEMBLER_MIPS_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_mips.h directly; use assembler.h instead. | 9 #error Do not include assembler_mips.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 void EnterStubFrame(bool uses_pp = false); | 172 void EnterStubFrame(bool uses_pp = false); |
173 void LeaveStubFrame(bool uses_pp = false); | 173 void LeaveStubFrame(bool uses_pp = false); |
174 // A separate macro for when a Ret immediately follows, so that we can use | 174 // A separate macro for when a Ret immediately follows, so that we can use |
175 // the branch delay slot. | 175 // the branch delay slot. |
176 void LeaveStubFrameAndReturn(Register ra = RA, bool uses_pp = false); | 176 void LeaveStubFrameAndReturn(Register ra = RA, bool uses_pp = false); |
177 | 177 |
178 // Instruction pattern from entrypoint is used in dart frame prologs | 178 // Instruction pattern from entrypoint is used in dart frame prologs |
179 // to set up the frame and save a PC which can be used to figure out the | 179 // to set up the frame and save a PC which can be used to figure out the |
180 // RawInstruction object corresponding to the code running in the frame. | 180 // RawInstruction object corresponding to the code running in the frame. |
181 // See EnterDartFrame. There are 6 instructions before we know the PC. | 181 // See EnterDartFrame. There are 6 instructions before we know the PC. |
182 static const intptr_t kOffsetOfSavedPCfromEntrypoint = 6 * Instr::kInstrSize; | 182 static const intptr_t kEntryPointToPcMarkerOffset = 6 * Instr::kInstrSize; |
183 | 183 |
184 // Inlined allocation of an instance of class 'cls', code has no runtime | 184 // Inlined allocation of an instance of class 'cls', code has no runtime |
185 // calls. Jump to 'failure' if the instance cannot be allocated here. | 185 // calls. Jump to 'failure' if the instance cannot be allocated here. |
186 // Allocated instance is returned in 'instance_reg'. | 186 // Allocated instance is returned in 'instance_reg'. |
187 // Only the tags field of the object is initialized. | 187 // Only the tags field of the object is initialized. |
188 void TryAllocate(const Class& cls, | 188 void TryAllocate(const Class& cls, |
189 Label* failure, | 189 Label* failure, |
190 bool near_jump, | 190 bool near_jump, |
191 Register instance_reg) { | 191 Register instance_reg) { |
192 UNIMPLEMENTED(); | 192 UNIMPLEMENTED(); |
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 Register value, | 1009 Register value, |
1010 Label* no_update); | 1010 Label* no_update); |
1011 | 1011 |
1012 DISALLOW_ALLOCATION(); | 1012 DISALLOW_ALLOCATION(); |
1013 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1013 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1014 }; | 1014 }; |
1015 | 1015 |
1016 } // namespace dart | 1016 } // namespace dart |
1017 | 1017 |
1018 #endif // VM_ASSEMBLER_MIPS_H_ | 1018 #endif // VM_ASSEMBLER_MIPS_H_ |
OLD | NEW |