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 1204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1215 // to this frame. | 1215 // to this frame. |
1216 void EnterDartFrame(intptr_t frame_size); | 1216 void EnterDartFrame(intptr_t frame_size); |
1217 void LeaveDartFrame(); | 1217 void LeaveDartFrame(); |
1218 void LeaveDartFrameAndReturn(); | 1218 void LeaveDartFrameAndReturn(); |
1219 | 1219 |
1220 // Set up a Dart frame for a function compiled for on-stack replacement. | 1220 // Set up a Dart frame for a function compiled for on-stack replacement. |
1221 // The frame layout is a normal Dart frame, but the frame is partially set | 1221 // The frame layout is a normal Dart frame, but the frame is partially set |
1222 // up on entry (it is the frame of the unoptimized code). | 1222 // up on entry (it is the frame of the unoptimized code). |
1223 void EnterOsrFrame(intptr_t extra_size); | 1223 void EnterOsrFrame(intptr_t extra_size); |
1224 | 1224 |
| 1225 Address ElementAddressForIntIndex(bool is_external, |
| 1226 intptr_t cid, |
| 1227 intptr_t index_scale, |
| 1228 Register array, |
| 1229 intptr_t index) const; |
| 1230 Address ElementAddressForRegIndex(bool is_load, |
| 1231 bool is_external, |
| 1232 intptr_t cid, |
| 1233 intptr_t index_scale, |
| 1234 Register array, |
| 1235 Register index); |
| 1236 |
1225 // On some other platforms, we draw a distinction between safe and unsafe | 1237 // On some other platforms, we draw a distinction between safe and unsafe |
1226 // smis. | 1238 // smis. |
1227 static bool IsSafe(const Object& object) { return true; } | 1239 static bool IsSafe(const Object& object) { return true; } |
1228 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } | 1240 static bool IsSafeSmi(const Object& object) { return object.IsSmi(); } |
1229 | 1241 |
1230 private: | 1242 private: |
1231 AssemblerBuffer buffer_; | 1243 AssemblerBuffer buffer_; |
1232 GrowableObjectArray& object_pool_; // Objects and patchable jump targets. | 1244 GrowableObjectArray& object_pool_; // Objects and patchable jump targets. |
1233 intptr_t prologue_offset_; | 1245 intptr_t prologue_offset_; |
1234 | 1246 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 Register value, | 1367 Register value, |
1356 Label* no_update); | 1368 Label* no_update); |
1357 | 1369 |
1358 DISALLOW_ALLOCATION(); | 1370 DISALLOW_ALLOCATION(); |
1359 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1371 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1360 }; | 1372 }; |
1361 | 1373 |
1362 } // namespace dart | 1374 } // namespace dart |
1363 | 1375 |
1364 #endif // VM_ASSEMBLER_MIPS_H_ | 1376 #endif // VM_ASSEMBLER_MIPS_H_ |
OLD | NEW |