| 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 1058 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1069 | 1069 |
| 1070 void CallRuntime(const RuntimeEntry& entry); | 1070 void CallRuntime(const RuntimeEntry& entry); |
| 1071 | 1071 |
| 1072 // Set up a Dart frame on entry with a frame pointer and PC information to | 1072 // Set up a Dart frame on entry with a frame pointer and PC information to |
| 1073 // enable easy access to the RawInstruction object of code corresponding | 1073 // enable easy access to the RawInstruction object of code corresponding |
| 1074 // to this frame. | 1074 // to this frame. |
| 1075 void EnterDartFrame(intptr_t frame_size); | 1075 void EnterDartFrame(intptr_t frame_size); |
| 1076 void LeaveDartFrame(); | 1076 void LeaveDartFrame(); |
| 1077 void LeaveDartFrameAndReturn(); | 1077 void LeaveDartFrameAndReturn(); |
| 1078 | 1078 |
| 1079 // Set up a Dart frame for a function compiled for on-stack replacement. |
| 1080 // The frame layout is a normal Dart frame, but the frame is partially set |
| 1081 // up on entry (it is the frame of the unoptimized code). |
| 1082 void EnterOsrFrame(intptr_t extra_size); |
| 1083 |
| 1079 private: | 1084 private: |
| 1080 AssemblerBuffer buffer_; | 1085 AssemblerBuffer buffer_; |
| 1081 GrowableObjectArray& object_pool_; // Objects and patchable jump targets. | 1086 GrowableObjectArray& object_pool_; // Objects and patchable jump targets. |
| 1082 int prologue_offset_; | 1087 int prologue_offset_; |
| 1083 | 1088 |
| 1084 bool delay_slot_available_; | 1089 bool delay_slot_available_; |
| 1085 bool in_delay_slot_; | 1090 bool in_delay_slot_; |
| 1086 | 1091 |
| 1087 int32_t AddObject(const Object& obj); | 1092 int32_t AddObject(const Object& obj); |
| 1088 int32_t AddExternalLabel(const ExternalLabel* label); | 1093 int32_t AddExternalLabel(const ExternalLabel* label); |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1248 Register value, | 1253 Register value, |
| 1249 Label* no_update); | 1254 Label* no_update); |
| 1250 | 1255 |
| 1251 DISALLOW_ALLOCATION(); | 1256 DISALLOW_ALLOCATION(); |
| 1252 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1257 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1253 }; | 1258 }; |
| 1254 | 1259 |
| 1255 } // namespace dart | 1260 } // namespace dart |
| 1256 | 1261 |
| 1257 #endif // VM_ASSEMBLER_MIPS_H_ | 1262 #endif // VM_ASSEMBLER_MIPS_H_ |
| OLD | NEW |