| OLD | NEW |
| 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 #include "vm/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/dart_entry.h" | 8 #include "vm/dart_entry.h" |
| 9 #include "vm/flow_graph_builder.h" | 9 #include "vm/flow_graph_builder.h" |
| 10 #include "vm/flow_graph_compiler.h" | 10 #include "vm/flow_graph_compiler.h" |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 UNREACHABLE(); | 295 UNREACHABLE(); |
| 296 return NULL; | 296 return NULL; |
| 297 } | 297 } |
| 298 | 298 |
| 299 | 299 |
| 300 void ParameterInstr::SetInputAt(intptr_t i, Value* value) { | 300 void ParameterInstr::SetInputAt(intptr_t i, Value* value) { |
| 301 UNREACHABLE(); | 301 UNREACHABLE(); |
| 302 } | 302 } |
| 303 | 303 |
| 304 | 304 |
| 305 intptr_t DoInstr::InputCount() const { | |
| 306 return computation()->InputCount(); | |
| 307 } | |
| 308 | |
| 309 | |
| 310 Value* DoInstr::InputAt(intptr_t i) const { | |
| 311 return computation()->InputAt(i); | |
| 312 } | |
| 313 | |
| 314 | |
| 315 void DoInstr::SetInputAt(intptr_t i, Value* value) { | |
| 316 computation()->SetInputAt(i, value); | |
| 317 } | |
| 318 | |
| 319 | |
| 320 intptr_t GraphEntryInstr::InputCount() const { | 305 intptr_t GraphEntryInstr::InputCount() const { |
| 321 return 0; | 306 return 0; |
| 322 } | 307 } |
| 323 | 308 |
| 324 | 309 |
| 325 Value* GraphEntryInstr::InputAt(intptr_t i) const { | 310 Value* GraphEntryInstr::InputAt(intptr_t i) const { |
| 326 UNREACHABLE(); | 311 UNREACHABLE(); |
| 327 return NULL; | 312 return NULL; |
| 328 } | 313 } |
| 329 | 314 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 assigned_vars->Add(local().BitIndexIn(assigned_vars->length())); | 361 assigned_vars->Add(local().BitIndexIn(assigned_vars->length())); |
| 377 } | 362 } |
| 378 } | 363 } |
| 379 | 364 |
| 380 | 365 |
| 381 void Instruction::RecordAssignedVars(BitVector* assigned_vars) { | 366 void Instruction::RecordAssignedVars(BitVector* assigned_vars) { |
| 382 // Nothing to do for the base class. | 367 // Nothing to do for the base class. |
| 383 } | 368 } |
| 384 | 369 |
| 385 | 370 |
| 386 void DoInstr::RecordAssignedVars(BitVector* assigned_vars) { | |
| 387 computation()->RecordAssignedVars(assigned_vars); | |
| 388 } | |
| 389 | |
| 390 | |
| 391 void BindInstr::RecordAssignedVars(BitVector* assigned_vars) { | 371 void BindInstr::RecordAssignedVars(BitVector* assigned_vars) { |
| 392 computation()->RecordAssignedVars(assigned_vars); | 372 computation()->RecordAssignedVars(assigned_vars); |
| 393 } | 373 } |
| 394 | 374 |
| 395 | 375 |
| 396 // ==== Postorder graph traversal. | 376 // ==== Postorder graph traversal. |
| 397 void GraphEntryInstr::DiscoverBlocks( | 377 void GraphEntryInstr::DiscoverBlocks( |
| 398 BlockEntryInstr* current_block, | 378 BlockEntryInstr* current_block, |
| 399 GrowableArray<BlockEntryInstr*>* preorder, | 379 GrowableArray<BlockEntryInstr*>* preorder, |
| 400 GrowableArray<BlockEntryInstr*>* postorder, | 380 GrowableArray<BlockEntryInstr*>* postorder, |
| (...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); | 1332 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); |
| 1353 compiler->GenerateCall(token_pos(), try_index(), &label, | 1333 compiler->GenerateCall(token_pos(), try_index(), &label, |
| 1354 PcDescriptors::kOther); | 1334 PcDescriptors::kOther); |
| 1355 __ Drop(2); // Discard type arguments and receiver. | 1335 __ Drop(2); // Discard type arguments and receiver. |
| 1356 } | 1336 } |
| 1357 | 1337 |
| 1358 | 1338 |
| 1359 #undef __ | 1339 #undef __ |
| 1360 | 1340 |
| 1361 } // namespace dart | 1341 } // namespace dart |
| OLD | NEW |