Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Side by Side Diff: runtime/vm/stub_code.h

Issue 1192103004: VM: New calling convention for generated code. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ARM64 port Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 kCollectRanges, 153 kCollectRanges,
154 kIgnoreRanges 154 kIgnoreRanges
155 }; 155 };
156 156
157 // Generate the stub and finalize the generated code into the stub 157 // Generate the stub and finalize the generated code into the stub
158 // code executable area. 158 // code executable area.
159 static RawCode* Generate(const char* name, 159 static RawCode* Generate(const char* name,
160 void (*GenerateStub)(Assembler* assembler)); 160 void (*GenerateStub)(Assembler* assembler));
161 161
162 static void GenerateMegamorphicMissStub(Assembler* assembler); 162 static void GenerateMegamorphicMissStub(Assembler* assembler);
163 static void GenerateAllocationStubForClass( 163 static void GenerateAllocationStubForClass(Assembler* assembler,
164 Assembler* assembler, const Class& cls, 164 const Class& cls);
165 uword* entry_patch_offset, uword* patch_code_pc_offset);
166 static void GenerateNArgsCheckInlineCacheStub( 165 static void GenerateNArgsCheckInlineCacheStub(
167 Assembler* assembler, 166 Assembler* assembler,
168 intptr_t num_args, 167 intptr_t num_args,
169 const RuntimeEntry& handle_ic_miss, 168 const RuntimeEntry& handle_ic_miss,
170 Token::Kind kind, 169 Token::Kind kind,
171 RangeCollectionMode range_collection_mode, 170 RangeCollectionMode range_collection_mode,
172 bool optimized = false); 171 bool optimized = false);
173 static void GenerateUsageCounterIncrement(Assembler* assembler, 172 static void GenerateUsageCounterIncrement(Assembler* assembler,
174 Register temp_reg); 173 Register temp_reg);
175 static void GenerateOptimizedUsageCounterIncrement(Assembler* assembler); 174 static void GenerateOptimizedUsageCounterIncrement(Assembler* assembler);
176 }; 175 };
177 176
177
178 enum DeoptStubKind {
179 kLazyDeopt,
180 kEagerDeopt
181 };
182
178 } // namespace dart 183 } // namespace dart
179 184
180 #endif // VM_STUB_CODE_H_ 185 #endif // VM_STUB_CODE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698