| 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 |