| 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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 158     kCollectRanges, | 158     kCollectRanges, | 
| 159     kIgnoreRanges | 159     kIgnoreRanges | 
| 160   }; | 160   }; | 
| 161 | 161 | 
| 162   // Generate the stub and finalize the generated code into the stub | 162   // Generate the stub and finalize the generated code into the stub | 
| 163   // code executable area. | 163   // code executable area. | 
| 164   static RawCode* Generate(const char* name, | 164   static RawCode* Generate(const char* name, | 
| 165                            void (*GenerateStub)(Assembler* assembler)); | 165                            void (*GenerateStub)(Assembler* assembler)); | 
| 166 | 166 | 
| 167   static void GenerateMegamorphicMissStub(Assembler* assembler); | 167   static void GenerateMegamorphicMissStub(Assembler* assembler); | 
| 168   static void GenerateAllocationStubForClass(Assembler* assembler, | 168   static void GenerateAllocationStubForClass( | 
| 169                                              const Class& cls); | 169       Assembler* assembler, const Class& cls, | 
|  | 170       uword* entry_patch_offset, uword* patch_code_pc_offset); | 
| 170   static void GenerateNArgsCheckInlineCacheStub( | 171   static void GenerateNArgsCheckInlineCacheStub( | 
| 171       Assembler* assembler, | 172       Assembler* assembler, | 
| 172       intptr_t num_args, | 173       intptr_t num_args, | 
| 173       const RuntimeEntry& handle_ic_miss, | 174       const RuntimeEntry& handle_ic_miss, | 
| 174       Token::Kind kind, | 175       Token::Kind kind, | 
| 175       RangeCollectionMode range_collection_mode, | 176       RangeCollectionMode range_collection_mode, | 
| 176       bool optimized = false); | 177       bool optimized = false); | 
| 177   static void GenerateUsageCounterIncrement(Assembler* assembler, | 178   static void GenerateUsageCounterIncrement(Assembler* assembler, | 
| 178                                             Register temp_reg); | 179                                             Register temp_reg); | 
| 179   static void GenerateOptimizedUsageCounterIncrement(Assembler* assembler); | 180   static void GenerateOptimizedUsageCounterIncrement(Assembler* assembler); | 
| 180 }; | 181 }; | 
| 181 | 182 | 
| 182 |  | 
| 183 enum DeoptStubKind { |  | 
| 184   kLazyDeopt, |  | 
| 185   kEagerDeopt |  | 
| 186 }; |  | 
| 187 |  | 
| 188 }  // namespace dart | 183 }  // namespace dart | 
| 189 | 184 | 
| 190 #endif  // VM_STUB_CODE_H_ | 185 #endif  // VM_STUB_CODE_H_ | 
| OLD | NEW | 
|---|