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

Side by Side Diff: runtime/vm/flow_graph_compiler_arm.cc

Issue 11956004: Fix vm code base so that it can be built for --arch=simarm (no snapshot yet). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 11 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) 2013, 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 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
6 #if defined(TARGET_ARCH_ARM) 6 #if defined(TARGET_ARCH_ARM)
7 7
8 #include "vm/flow_graph_compiler.h" 8 #include "vm/flow_graph_compiler.h"
9 9
10 #include "vm/longjump.h" 10 #include "vm/longjump.h"
11 11
12 namespace dart { 12 namespace dart {
13 13
14
15 FlowGraphCompiler::~FlowGraphCompiler() {
16 // BlockInfos are zone-allocated, so their destructors are not called.
17 // Verify the labels explicitly here.
18 for (int i = 0; i < block_info_.length(); ++i) {
19 ASSERT(!block_info_[i]->label.IsLinked());
20 }
21 }
22
23
24 bool FlowGraphCompiler::SupportsUnboxedMints() {
25 return false;
26 }
27
28
29 void CompilerDeoptInfoWithStub::GenerateCode(FlowGraphCompiler* compiler,
30 intptr_t stub_ix) {
31 UNIMPLEMENTED();
32 }
33
34
35 void FlowGraphCompiler::GenerateBoolToJump(Register bool_register,
36 Label* is_true,
37 Label* is_false) {
38 UNIMPLEMENTED();
39 }
40
41
42 RawSubtypeTestCache* FlowGraphCompiler::GenerateCallSubtypeTestStub(
43 TypeTestStubKind test_kind,
44 Register instance_reg,
45 Register type_arguments_reg,
46 Register temp_reg,
47 Label* is_instance_lbl,
48 Label* is_not_instance_lbl) {
49 UNIMPLEMENTED();
50 return NULL;
51 }
52
53
54 RawSubtypeTestCache*
55 FlowGraphCompiler::GenerateInstantiatedTypeWithArgumentsTest(
56 intptr_t token_pos,
57 const AbstractType& type,
58 Label* is_instance_lbl,
59 Label* is_not_instance_lbl) {
60 UNIMPLEMENTED();
61 return NULL;
62 }
63
64
65 void FlowGraphCompiler::CheckClassIds(Register class_id_reg,
66 const GrowableArray<intptr_t>& class_ids,
67 Label* is_equal_lbl,
68 Label* is_not_equal_lbl) {
69 UNIMPLEMENTED();
70 }
71
72
73 bool FlowGraphCompiler::GenerateInstantiatedTypeNoArgumentsTest(
74 intptr_t token_pos,
75 const AbstractType& type,
76 Label* is_instance_lbl,
77 Label* is_not_instance_lbl) {
78 UNIMPLEMENTED();
79 return false;
80 }
81
82
83 RawSubtypeTestCache* FlowGraphCompiler::GenerateSubtype1TestCacheLookup(
84 intptr_t token_pos,
85 const Class& type_class,
86 Label* is_instance_lbl,
87 Label* is_not_instance_lbl) {
88 UNIMPLEMENTED();
89 return NULL;
90 }
91
92
93 RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest(
94 intptr_t token_pos,
95 const AbstractType& type,
96 Label* is_instance_lbl,
97 Label* is_not_instance_lbl) {
98 UNIMPLEMENTED();
99 return NULL;
100 }
101
102
103 RawSubtypeTestCache* FlowGraphCompiler::GenerateInlineInstanceof(
104 intptr_t token_pos,
105 const AbstractType& type,
106 Label* is_instance_lbl,
107 Label* is_not_instance_lbl) {
108 UNIMPLEMENTED();
109 return NULL;
110 }
111
112
113 void FlowGraphCompiler::GenerateInstanceOf(intptr_t token_pos,
114 const AbstractType& type,
115 bool negate_result,
116 LocationSummary* locs) {
117 UNIMPLEMENTED();
118 }
119
120
121 void FlowGraphCompiler::GenerateAssertAssignable(intptr_t token_pos,
122 const AbstractType& dst_type,
123 const String& dst_name,
124 LocationSummary* locs) {
125 UNIMPLEMENTED();
126 }
127
128
129 void FlowGraphCompiler::EmitInstructionPrologue(Instruction* instr) {
130 UNIMPLEMENTED();
131 }
132
133
134 void FlowGraphCompiler::EmitInstructionEpilogue(Instruction* instr) {
135 UNIMPLEMENTED();
136 }
137
138
139 void FlowGraphCompiler::CopyParameters() {
140 UNIMPLEMENTED();
141 }
142
143
144 void FlowGraphCompiler::GenerateInlinedGetter(intptr_t offset) {
145 UNIMPLEMENTED();
146 }
147
148
149 void FlowGraphCompiler::GenerateInlinedSetter(intptr_t offset) {
150 UNIMPLEMENTED();
151 }
152
153
154 void FlowGraphCompiler::EmitFrameEntry() {
155 UNIMPLEMENTED();
156 }
157
158
14 void FlowGraphCompiler::CompileGraph() { 159 void FlowGraphCompiler::CompileGraph() {
15 UNIMPLEMENTED(); 160 UNIMPLEMENTED();
16 } 161 }
17 162
18 163
19 void FlowGraphCompiler::FinalizePcDescriptors(const Code& code) { 164 void FlowGraphCompiler::GenerateCall(intptr_t token_pos,
20 UNIMPLEMENTED(); 165 const ExternalLabel* label,
21 } 166 PcDescriptors::Kind kind,
22 167 LocationSummary* locs) {
23 168 UNIMPLEMENTED();
24 void FlowGraphCompiler::FinalizeStackmaps(const Code& code) { 169 }
25 UNIMPLEMENTED(); 170
26 } 171
27 172 void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id,
28 173 intptr_t token_pos,
29 void FlowGraphCompiler::FinalizeVarDescriptors(const Code& code) { 174 const ExternalLabel* label,
30 UNIMPLEMENTED(); 175 PcDescriptors::Kind kind,
31 } 176 LocationSummary* locs) {
32 177 UNIMPLEMENTED();
33 178 }
34 void FlowGraphCompiler::FinalizeExceptionHandlers(const Code& code) { 179
35 UNIMPLEMENTED(); 180
36 } 181 void FlowGraphCompiler::GenerateCallRuntime(intptr_t token_pos,
37 182 const RuntimeEntry& entry,
38 183 LocationSummary* locs) {
39 void FlowGraphCompiler::FinalizeComments(const Code& code) { 184 UNIMPLEMENTED();
40 UNIMPLEMENTED(); 185 }
41 } 186
187
188 void FlowGraphCompiler::EmitOptimizedInstanceCall(
189 ExternalLabel* target_label,
190 const ICData& ic_data,
191 const Array& arguments_descriptor,
192 intptr_t argument_count,
193 intptr_t deopt_id,
194 intptr_t token_pos,
195 LocationSummary* locs) {
196 UNIMPLEMENTED();
197 }
198
199
200 void FlowGraphCompiler::EmitInstanceCall(ExternalLabel* target_label,
201 const ICData& ic_data,
202 const Array& arguments_descriptor,
203 intptr_t argument_count,
204 intptr_t deopt_id,
205 intptr_t token_pos,
206 LocationSummary* locs) {
207 UNIMPLEMENTED();
208 }
209
210
211 void FlowGraphCompiler::EmitMegamorphicInstanceCall(
212 const ICData& ic_data,
213 const Array& arguments_descriptor,
214 intptr_t argument_count,
215 intptr_t deopt_id,
216 intptr_t token_pos,
217 LocationSummary* locs) {
218 UNIMPLEMENTED();
219 }
220
221
222 void FlowGraphCompiler::EmitStaticCall(const Function& function,
223 const Array& arguments_descriptor,
224 intptr_t argument_count,
225 intptr_t deopt_id,
226 intptr_t token_pos,
227 LocationSummary* locs) {
228 UNIMPLEMENTED();
229 }
230
231
232 void FlowGraphCompiler::EmitEqualityRegConstCompare(Register reg,
233 const Object& obj,
234 bool needs_number_check) {
235 UNIMPLEMENTED();
236 }
237
238
239 void FlowGraphCompiler::EmitEqualityRegRegCompare(Register left,
240 Register right,
241 bool needs_number_check) {
242 UNIMPLEMENTED();
243 }
244
245
246 void FlowGraphCompiler::EmitSuperEqualityCallPrologue(Register result,
247 Label* skip_call) {
248 UNIMPLEMENTED();
249 }
250
251
252 void FlowGraphCompiler::SaveLiveRegisters(LocationSummary* locs) {
253 UNIMPLEMENTED();
254 }
255
256
257 void FlowGraphCompiler::RestoreLiveRegisters(LocationSummary* locs) {
258 UNIMPLEMENTED();
259 }
260
261
262 void FlowGraphCompiler::EmitTestAndCall(const ICData& ic_data,
263 Register class_id_reg,
264 intptr_t arg_count,
265 const Array& arg_names,
266 Label* deopt,
267 intptr_t deopt_id,
268 intptr_t token_index,
269 LocationSummary* locs) {
270 UNIMPLEMENTED();
271 }
272
273
274 void FlowGraphCompiler::EmitDoubleCompareBranch(Condition true_condition,
275 FpuRegister left,
276 FpuRegister right,
277 BranchInstr* branch) {
278 UNIMPLEMENTED();
279 }
280
281
282 void FlowGraphCompiler::EmitDoubleCompareBool(Condition true_condition,
283 FpuRegister left,
284 FpuRegister right,
285 Register result) {
286 UNIMPLEMENTED();
287 }
288
289
290 Condition FlowGraphCompiler::FlipCondition(Condition condition) {
291 UNIMPLEMENTED();
292 return condition;
293 }
294
295
296 bool FlowGraphCompiler::EvaluateCondition(Condition condition,
297 intptr_t left,
298 intptr_t right) {
299 UNIMPLEMENTED();
300 return false;
301 }
302
303
304 FieldAddress FlowGraphCompiler::ElementAddressForIntIndex(intptr_t cid,
305 Register array,
306 intptr_t index) {
307 UNIMPLEMENTED();
308 return FieldAddress(array, index);
309 }
310
311
312 FieldAddress FlowGraphCompiler::ElementAddressForRegIndex(intptr_t cid,
313 Register array,
314 Register index) {
315 UNIMPLEMENTED();
316 return FieldAddress(array, index);
317 }
318
319
320 void ParallelMoveResolver::EmitMove(int index) {
321 UNIMPLEMENTED();
322 }
323
324
325 void ParallelMoveResolver::EmitSwap(int index) {
326 UNIMPLEMENTED();
327 }
328
329
330 void ParallelMoveResolver::MoveMemoryToMemory(const Address& dst,
331 const Address& src) {
332 UNIMPLEMENTED();
333 }
334
335
336 void ParallelMoveResolver::StoreObject(const Address& dst, const Object& obj) {
337 UNIMPLEMENTED();
338 }
339
340
341 void ParallelMoveResolver::Exchange(Register reg, const Address& mem) {
342 UNIMPLEMENTED();
343 }
344
345
346 void ParallelMoveResolver::Exchange(const Address& mem1, const Address& mem2) {
347 UNIMPLEMENTED();
348 }
349
42 350
43 } // namespace dart 351 } // namespace dart
44 352
45 #endif // defined TARGET_ARCH_ARM 353 #endif // defined TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698