OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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_STUB_CODE_H_ | 5 #ifndef VM_STUB_CODE_H_ |
6 #define VM_STUB_CODE_H_ | 6 #define VM_STUB_CODE_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 | 10 |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 175 |
176 #define STUB_CODE_ENTRY(name) \ | 176 #define STUB_CODE_ENTRY(name) \ |
177 static StubEntry* name##_entry_; | 177 static StubEntry* name##_entry_; |
178 VM_STUB_CODE_LIST(STUB_CODE_ENTRY); | 178 VM_STUB_CODE_LIST(STUB_CODE_ENTRY); |
179 #undef STUB_CODE_ENTRY | 179 #undef STUB_CODE_ENTRY |
180 | 180 |
181 #define STUB_CODE_ENTRY(name) \ | 181 #define STUB_CODE_ENTRY(name) \ |
182 StubEntry* name##_entry_; | 182 StubEntry* name##_entry_; |
183 STUB_CODE_LIST(STUB_CODE_ENTRY); | 183 STUB_CODE_LIST(STUB_CODE_ENTRY); |
184 #undef STUB_CODE_ENTRY | 184 #undef STUB_CODE_ENTRY |
185 // This dummy field is needed so that we can intialize the stubs from a macro. | 185 // This dummy field is needed so that we can initialize |
| 186 // the stubs from a macro. |
186 void* dummy_; | 187 void* dummy_; |
187 | 188 |
188 // Generate the stub and finalize the generated code into the stub | 189 // Generate the stub and finalize the generated code into the stub |
189 // code executable area. | 190 // code executable area. |
190 static RawCode* Generate(const char* name, | 191 static RawCode* Generate(const char* name, |
191 void (*GenerateStub)(Assembler* assembler)); | 192 void (*GenerateStub)(Assembler* assembler)); |
192 | 193 |
193 static void GenerateMegamorphicMissStub(Assembler* assembler); | 194 static void GenerateMegamorphicMissStub(Assembler* assembler); |
194 static void GenerateAllocationStubForClass(Assembler* assembler, | 195 static void GenerateAllocationStubForClass(Assembler* assembler, |
195 const Class& cls); | 196 const Class& cls); |
(...skipping 11 matching lines...) Expand all Loading... |
207 Assembler* assembler, | 208 Assembler* assembler, |
208 const Register left, | 209 const Register left, |
209 const Register right, | 210 const Register right, |
210 const Register temp1 = kNoRegister, | 211 const Register temp1 = kNoRegister, |
211 const Register temp2 = kNoRegister); | 212 const Register temp2 = kNoRegister); |
212 }; | 213 }; |
213 | 214 |
214 } // namespace dart | 215 } // namespace dart |
215 | 216 |
216 #endif // VM_STUB_CODE_H_ | 217 #endif // VM_STUB_CODE_H_ |
OLD | NEW |