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

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

Issue 10912094: Reapply "Remove classes Computation and BindInstr." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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 | Annotate | Revision Log
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_FLOW_GRAPH_COMPILER_IA32_H_ 5 #ifndef VM_FLOW_GRAPH_COMPILER_IA32_H_
6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_ 6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_
7 7
8 #ifndef VM_FLOW_GRAPH_COMPILER_H_ 8 #ifndef VM_FLOW_GRAPH_COMPILER_H_
9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h. 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h.
10 #endif 10 #endif
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 void EmitComment(Instruction* instr); 131 void EmitComment(Instruction* instr);
132 132
133 void EmitInstanceCall(ExternalLabel* target_label, 133 void EmitInstanceCall(ExternalLabel* target_label,
134 const ICData& ic_data, 134 const ICData& ic_data,
135 const Array& arguments_descriptor, 135 const Array& arguments_descriptor,
136 intptr_t argument_count, 136 intptr_t argument_count,
137 intptr_t deopt_id, 137 intptr_t deopt_id,
138 intptr_t token_pos, 138 intptr_t token_pos,
139 LocationSummary* locs); 139 LocationSummary* locs);
140 140
141 void EmitLoadIndexedGeneric(LoadIndexedComp* comp);
142 void EmitTestAndCall(const ICData& ic_data, 141 void EmitTestAndCall(const ICData& ic_data,
143 Register class_id_reg, 142 Register class_id_reg,
144 intptr_t arg_count, 143 intptr_t arg_count,
145 const Array& arg_names, 144 const Array& arg_names,
146 Label* deopt, 145 Label* deopt,
147 intptr_t deopt_id, 146 intptr_t deopt_id,
148 intptr_t token_index, 147 intptr_t token_index,
149 LocationSummary* locs); 148 LocationSummary* locs);
150 149
151 void EmitDoubleCompareBranch(Condition true_condition, 150 void EmitDoubleCompareBranch(Condition true_condition,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 static const int kLocalsOffsetFromFP = (-1 * kWordSize); 205 static const int kLocalsOffsetFromFP = (-1 * kWordSize);
207 206
208 // Returns true if the generated code does not call other Dart code or 207 // Returns true if the generated code does not call other Dart code or
209 // runtime. Only deoptimization is allowed to occur. Closures are not leaf. 208 // runtime. Only deoptimization is allowed to occur. Closures are not leaf.
210 bool IsLeaf() const; 209 bool IsLeaf() const;
211 210
212 private: 211 private:
213 void GenerateDeferredCode(); 212 void GenerateDeferredCode();
214 213
215 void EmitInstructionPrologue(Instruction* instr); 214 void EmitInstructionPrologue(Instruction* instr);
215 void EmitInstructionEpilogue(Instruction* instr);
216 216
217 // Emit code to load a Value into register 'dst'. 217 // Emit code to load a Value into register 'dst'.
218 void LoadValue(Register dst, Value* value); 218 void LoadValue(Register dst, Value* value);
219 219
220 void EmitStaticCall(const Function& function, 220 void EmitStaticCall(const Function& function,
221 const Array& arguments_descriptor, 221 const Array& arguments_descriptor,
222 intptr_t argument_count, 222 intptr_t argument_count,
223 intptr_t deopt_id, 223 intptr_t deopt_id,
224 intptr_t token_pos, 224 intptr_t token_pos,
225 LocationSummary* locs); 225 LocationSummary* locs);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 // that should be used when deoptimizing we store it in this variable. 317 // that should be used when deoptimizing we store it in this variable.
318 // In future AddDeoptStub should be moved out of the instruction template. 318 // In future AddDeoptStub should be moved out of the instruction template.
319 Environment* pending_deoptimization_env_; 319 Environment* pending_deoptimization_env_;
320 320
321 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); 321 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
322 }; 322 };
323 323
324 } // namespace dart 324 } // namespace dart
325 325
326 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ 326 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698