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

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

Issue 10051011: Eliminate type checks that can successfully be performed at compile time. (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
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_X64_H_ 5 #ifndef VM_FLOW_GRAPH_COMPILER_X64_H_
6 #define VM_FLOW_GRAPH_COMPILER_X64_H_ 6 #define VM_FLOW_GRAPH_COMPILER_X64_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_x64.h. 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_x64.h.
10 #endif 10 #endif
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 intptr_t try_index); 99 intptr_t try_index);
100 100
101 void GenerateAssertAssignable(intptr_t node_id, 101 void GenerateAssertAssignable(intptr_t node_id,
102 intptr_t token_index, 102 intptr_t token_index,
103 const AbstractType& dst_type, 103 const AbstractType& dst_type,
104 const String& dst_name); 104 const String& dst_name);
105 105
106 void GenerateInstanceOf(intptr_t node_id, 106 void GenerateInstanceOf(intptr_t node_id,
107 intptr_t token_index, 107 intptr_t token_index,
108 intptr_t try_index, 108 intptr_t try_index,
109 Value* value,
109 const AbstractType& type, 110 const AbstractType& type,
110 bool negate_result); 111 bool negate_result);
111 112
112 void GenerateInstantiatorTypeArguments(intptr_t token_index); 113 void GenerateInstantiatorTypeArguments(intptr_t token_index);
113 114
114 void CopyParameters(); 115 void CopyParameters();
115 116
116 intptr_t StackSize() const; 117 intptr_t StackSize() const;
117 118
118 Assembler* assembler_; 119 Assembler* assembler_;
119 const ParsedFunction& parsed_function_; 120 const ParsedFunction& parsed_function_;
120 121
121 // Compiler specific per-block state. Indexed by postorder block number 122 // Compiler specific per-block state. Indexed by postorder block number
122 // for convenience. This is not the block's index in the block order, 123 // for convenience. This is not the block's index in the block order,
123 // which is reverse postorder. 124 // which is reverse postorder.
124 GrowableArray<BlockInfo*> block_info_; 125 GrowableArray<BlockInfo*> block_info_;
125 BlockEntryInstr* current_block_; 126 BlockEntryInstr* current_block_;
126 DescriptorList* pc_descriptors_list_; 127 DescriptorList* pc_descriptors_list_;
127 ExceptionHandlerList* exception_handlers_list_; 128 ExceptionHandlerList* exception_handlers_list_;
128 129
129 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); 130 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
130 }; 131 };
131 132
132 } // namespace dart 133 } // namespace dart
133 134
134 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_ 135 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698