| OLD | NEW |
| 1 // Copyright (c) 2013, 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 library dart2js.ir_builder; | 5 library dart2js.ir_builder; |
| 6 | 6 |
| 7 import '../closure.dart' as closure; | 7 import '../closure.dart' as closure; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../common/names.dart' show | 9 import '../common/names.dart' show |
| 10 Names, | 10 Names, |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 for (int jumpIndex = 0; jumpIndex < _invocations.length; ++jumpIndex) { | 336 for (int jumpIndex = 0; jumpIndex < _invocations.length; ++jumpIndex) { |
| 337 Environment invocationEnvironment = _invocationEnvironments[jumpIndex]; | 337 Environment invocationEnvironment = _invocationEnvironments[jumpIndex]; |
| 338 List<ir.Reference> arguments = <ir.Reference>[]; | 338 List<ir.Reference> arguments = <ir.Reference>[]; |
| 339 int varIndex = 0; | 339 int varIndex = 0; |
| 340 for (ir.Parameter parameter in parameters) { | 340 for (ir.Parameter parameter in parameters) { |
| 341 varIndex = | 341 varIndex = |
| 342 _continuationEnvironment.index2value.indexOf(parameter, varIndex); | 342 _continuationEnvironment.index2value.indexOf(parameter, varIndex); |
| 343 arguments.add(new ir.Reference(invocationEnvironment[varIndex])); | 343 arguments.add(new ir.Reference(invocationEnvironment[varIndex])); |
| 344 } | 344 } |
| 345 ir.InvokeContinuation invocation = _invocations[jumpIndex]; | 345 ir.InvokeContinuation invocation = _invocations[jumpIndex]; |
| 346 invocation.continuation = new ir.Reference(_continuation); | 346 invocation.continuationRef = new ir.Reference(_continuation); |
| 347 invocation.arguments = arguments; | 347 invocation.argumentRefs = arguments; |
| 348 } | 348 } |
| 349 } | 349 } |
| 350 } | 350 } |
| 351 | 351 |
| 352 /// A class to collect 'backward' jumps. | 352 /// A class to collect 'backward' jumps. |
| 353 /// | 353 /// |
| 354 /// A backward jump to a continuation in the sense of the CPS translation is | 354 /// A backward jump to a continuation in the sense of the CPS translation is |
| 355 /// a jump where some code in the body of the continuation is translated | 355 /// a jump where some code in the body of the continuation is translated |
| 356 /// before the jump is emitted. They have the property that the | 356 /// before the jump is emitted. They have the property that the |
| 357 /// continuation parameters and the environment for the translation of the | 357 /// continuation parameters and the environment for the translation of the |
| (...skipping 2579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2937 this.stackTraceVariable, | 2937 this.stackTraceVariable, |
| 2938 this.buildCatchBlock}); | 2938 this.buildCatchBlock}); |
| 2939 } | 2939 } |
| 2940 | 2940 |
| 2941 class SwitchCaseInfo { | 2941 class SwitchCaseInfo { |
| 2942 final SubbuildFunction buildCondition; | 2942 final SubbuildFunction buildCondition; |
| 2943 final SubbuildFunction buildBody; | 2943 final SubbuildFunction buildBody; |
| 2944 | 2944 |
| 2945 SwitchCaseInfo(this.buildCondition, this.buildBody); | 2945 SwitchCaseInfo(this.buildCondition, this.buildBody); |
| 2946 } | 2946 } |
| OLD | NEW |