| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 part of dart2js.optimizers; | 5 part of dart2js.optimizers; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * [ShrinkingReducer] applies shrinking reductions to CPS terms as described | 8 * [ShrinkingReducer] applies shrinking reductions to CPS terms as described |
| 9 * in 'Compiling with Continuations, Continued' by Andrew Kennedy. | 9 * in 'Compiling with Continuations, Continued' by Andrew Kennedy. |
| 10 */ | 10 */ |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 processIsTrue(IsTrue node) { | 404 processIsTrue(IsTrue node) { |
| 405 node.value.parent = node; | 405 node.value.parent = node; |
| 406 } | 406 } |
| 407 | 407 |
| 408 // JavaScript specific nodes. | 408 // JavaScript specific nodes. |
| 409 | 409 |
| 410 processIdentical(Identical node) { | 410 processIdentical(Identical node) { |
| 411 node.left.parent = node; | 411 node.left.parent = node; |
| 412 node.right.parent = node; | 412 node.right.parent = node; |
| 413 } | 413 } |
| 414 | |
| 415 processInterceptor(Interceptor node) { | |
| 416 node.input.parent = node; | |
| 417 } | |
| 418 } | 414 } |
| 419 | 415 |
| 420 class _ReductionKind { | 416 class _ReductionKind { |
| 421 final String name; | 417 final String name; |
| 422 final int hashCode; | 418 final int hashCode; |
| 423 | 419 |
| 424 const _ReductionKind(this.name, this.hashCode); | 420 const _ReductionKind(this.name, this.hashCode); |
| 425 | 421 |
| 426 static const _ReductionKind DEAD_VAL = const _ReductionKind('dead-val', 0); | 422 static const _ReductionKind DEAD_VAL = const _ReductionKind('dead-val', 0); |
| 427 static const _ReductionKind DEAD_CONT = const _ReductionKind('dead-cont', 1); | 423 static const _ReductionKind DEAD_CONT = const _ReductionKind('dead-cont', 1); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 454 } | 450 } |
| 455 | 451 |
| 456 String toString() => "$kind: $node"; | 452 String toString() => "$kind: $node"; |
| 457 } | 453 } |
| 458 | 454 |
| 459 /// A dummy class used solely to mark nodes as deleted once they are removed | 455 /// A dummy class used solely to mark nodes as deleted once they are removed |
| 460 /// from a term. | 456 /// from a term. |
| 461 class _DeletedNode extends Node { | 457 class _DeletedNode extends Node { |
| 462 accept(_) => null; | 458 accept(_) => null; |
| 463 } | 459 } |
| OLD | NEW |