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/globals.h" // Needed here to get TARGET_ARCH_X64. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64. |
6 #if defined(TARGET_ARCH_X64) | 6 #if defined(TARGET_ARCH_X64) |
7 | 7 |
8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
9 | 9 |
10 #include "lib/error.h" | 10 #include "lib/error.h" |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 LocationSummary* InstantiateTypeArgumentsComp::MakeLocationSummary() const { | 505 LocationSummary* InstantiateTypeArgumentsComp::MakeLocationSummary() const { |
506 const intptr_t kNumInputs = 1; | 506 const intptr_t kNumInputs = 1; |
507 const intptr_t kNumTemps = 0; | 507 const intptr_t kNumTemps = 0; |
508 LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps); | 508 LocationSummary* locs = new LocationSummary(kNumInputs, kNumTemps); |
509 locs->set_in(0, Location::RequiresRegister()); | 509 locs->set_in(0, Location::RequiresRegister()); |
510 locs->set_out(Location::SameAsFirstInput()); | 510 locs->set_out(Location::SameAsFirstInput()); |
511 return locs; | 511 return locs; |
512 } | 512 } |
513 | 513 |
514 | 514 |
515 void InstantiateTypeArgumentsComp::EmitNativeCode(FlowGraphCompiler* compiler) { | 515 void InstantiateTypeArgumentsComp::EmitNativeCode( |
| 516 FlowGraphCompiler* compiler) { |
516 Register instantiator_reg = locs()->in(0).reg(); | 517 Register instantiator_reg = locs()->in(0).reg(); |
517 Register result_reg = locs()->out().reg(); | 518 Register result_reg = locs()->out().reg(); |
518 | 519 |
519 // 'instantiator_reg' is the instantiator AbstractTypeArguments object | 520 // 'instantiator_reg' is the instantiator AbstractTypeArguments object |
520 // (or null). | 521 // (or null). |
521 // If the instantiator is null and if the type argument vector | 522 // If the instantiator is null and if the type argument vector |
522 // instantiated from null becomes a vector of Dynamic, then use null as | 523 // instantiated from null becomes a vector of Dynamic, then use null as |
523 // the type arguments. | 524 // the type arguments. |
524 Label type_arguments_instantiated; | 525 Label type_arguments_instantiated; |
525 const intptr_t len = type_arguments().Length(); | 526 const intptr_t len = type_arguments().Length(); |
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1063 } else { | 1064 } else { |
1064 UNREACHABLE(); | 1065 UNREACHABLE(); |
1065 } | 1066 } |
1066 } | 1067 } |
1067 | 1068 |
1068 } // namespace dart | 1069 } // namespace dart |
1069 | 1070 |
1070 #undef __ | 1071 #undef __ |
1071 | 1072 |
1072 #endif // defined TARGET_ARCH_X64 | 1073 #endif // defined TARGET_ARCH_X64 |
OLD | NEW |