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

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

Issue 10128009: Reverting CL 6764. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/code_generator_ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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_CODE_GENERATOR_IA32_H_ 5 #ifndef VM_CODE_GENERATOR_IA32_H_
6 #define VM_CODE_GENERATOR_IA32_H_ 6 #define VM_CODE_GENERATOR_IA32_H_
7 7
8 #ifndef VM_CODE_GENERATOR_H_ 8 #ifndef VM_CODE_GENERATOR_H_
9 #error Do not include code_generator_ia32.h directly; use code_generator.h. 9 #error Do not include code_generator_ia32.h directly; use code_generator.h.
10 #endif 10 #endif
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 AstNode* value, 177 AstNode* value,
178 const AbstractType& dst_type, 178 const AbstractType& dst_type,
179 const String& dst_name); 179 const String& dst_name);
180 void GenerateArgumentTypeChecks(); 180 void GenerateArgumentTypeChecks();
181 void GenerateConditionTypeCheck(intptr_t node_id, intptr_t token_index); 181 void GenerateConditionTypeCheck(intptr_t node_id, intptr_t token_index);
182 182
183 void GenerateInstantiatorTypeArguments(intptr_t token_index); 183 void GenerateInstantiatorTypeArguments(intptr_t token_index);
184 void GenerateTypeArguments(ConstructorCallNode* node, 184 void GenerateTypeArguments(ConstructorCallNode* node,
185 bool is_cls_parameterized); 185 bool is_cls_parameterized);
186 186
187 void TestClassAndJump(const Class& cls, Label *label);
188
187 intptr_t locals_space_size() const { return locals_space_size_; } 189 intptr_t locals_space_size() const { return locals_space_size_; }
188 void set_locals_space_size(intptr_t value) { locals_space_size_ = value; } 190 void set_locals_space_size(intptr_t value) { locals_space_size_ = value; }
189 191
190 bool IsResultNeeded(AstNode* node) const; 192 bool IsResultNeeded(AstNode* node) const;
191 193
192 void GenerateCall(intptr_t token_index, 194 void GenerateCall(intptr_t token_index,
193 const ExternalLabel* ext_label, 195 const ExternalLabel* ext_label,
194 PcDescriptors::Kind desc_kind); 196 PcDescriptors::Kind desc_kind);
195 void GenerateCallRuntime(intptr_t node_id, 197 void GenerateCallRuntime(intptr_t node_id,
196 intptr_t token_index, 198 intptr_t token_index,
197 const RuntimeEntry& entry); 199 const RuntimeEntry& entry);
198 200
199 void GenerateInlinedFinallyBlocks(SourceLabel* label); 201 void GenerateInlinedFinallyBlocks(SourceLabel* label);
200 202
201 void GenerateInlineInstanceof(intptr_t node_id,
202 intptr_t token_index,
203 const AbstractType& type,
204 Label* is_instance_lbl,
205 Label* is_not_instance_lbl);
206
207 void GenerateInstantiatedTypeWithArgumentsTest(const AbstractType& dst_type,
208 Label* is_instance_lbl,
209 Label* is_not_instance_lbl);
210 void GenerateInstantiatedTypeNoArgumentsTest(intptr_t node_id,
211 intptr_t token_index,
212 const AbstractType& dst_type,
213 Label* is_instance_lbl,
214 Label* is_not_instance_lbl);
215 void GenerateUninstantiatedTypeTest(const AbstractType& dst_type,
216 intptr_t token_index,
217 Label* is_instance_lbl);
218
219 void HandleBackwardBranch(intptr_t loop_id, intptr_t token_index); 203 void HandleBackwardBranch(intptr_t loop_id, intptr_t token_index);
220 204
221 void ErrorMsg(intptr_t token_index, const char* format, ...); 205 void ErrorMsg(intptr_t token_index, const char* format, ...);
222 206
223 int generate_next_try_index() { return try_index_ += 1; } 207 int generate_next_try_index() { return try_index_ += 1; }
224 208
225 void MarkDeoptPoint(intptr_t node_id, intptr_t token_index); 209 void MarkDeoptPoint(intptr_t node_id, intptr_t token_index);
226 void AddCurrentDescriptor(PcDescriptors::Kind kind, 210 void AddCurrentDescriptor(PcDescriptors::Kind kind,
227 intptr_t node_id, 211 intptr_t node_id,
228 intptr_t token_index); 212 intptr_t token_index);
(...skipping 12 matching lines...) Expand all
241 // The runtime context level is only incremented when a new context is 225 // The runtime context level is only incremented when a new context is
242 // allocated and chained to the list of contexts. 226 // allocated and chained to the list of contexts.
243 intptr_t context_level_; 227 intptr_t context_level_;
244 228
245 DISALLOW_IMPLICIT_CONSTRUCTORS(CodeGenerator); 229 DISALLOW_IMPLICIT_CONSTRUCTORS(CodeGenerator);
246 }; 230 };
247 231
248 } // namespace dart 232 } // namespace dart
249 233
250 #endif // VM_CODE_GENERATOR_IA32_H_ 234 #endif // VM_CODE_GENERATOR_IA32_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/code_generator_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698