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 import 'dart:collection'; | 5 import 'dart:collection'; |
6 | 6 |
7 import 'package:js_runtime/shared/embedded_names.dart'; | 7 import 'package:js_runtime/shared/embedded_names.dart'; |
8 | 8 |
9 import '../closure.dart'; | 9 import '../closure.dart'; |
10 import '../common.dart'; | 10 import '../common.dart'; |
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 compiledArguments[index] = | 606 compiledArguments[index] = |
607 handleConstantForOptionalParameter(element); | 607 handleConstantForOptionalParameter(element); |
608 } | 608 } |
609 index++; | 609 index++; |
610 }); | 610 }); |
611 } | 611 } |
612 return compiledArguments; | 612 return compiledArguments; |
613 } | 613 } |
614 | 614 |
615 /** | 615 /** |
616 * Try to inline [element] within the currect context of the builder. The | 616 * Try to inline [element] within the correct context of the builder. The |
617 * insertion point is the state of the builder. | 617 * insertion point is the state of the builder. |
618 */ | 618 */ |
619 bool tryInlineMethod(Element element, Selector selector, TypeMask mask, | 619 bool tryInlineMethod(Element element, Selector selector, TypeMask mask, |
620 List<HInstruction> providedArguments, ast.Node currentNode, | 620 List<HInstruction> providedArguments, ast.Node currentNode, |
621 {InterfaceType instanceType}) { | 621 {InterfaceType instanceType}) { |
622 // TODO(johnniwinther): Register this on the [registry]. Currently the | 622 // TODO(johnniwinther): Register this on the [registry]. Currently the |
623 // [CodegenRegistry] calls the enqueuer, but [element] should _not_ be | 623 // [CodegenRegistry] calls the enqueuer, but [element] should _not_ be |
624 // enqueued. | 624 // enqueued. |
625 backend.registerStaticUse(element, compiler.enqueuer.codegen); | 625 backend.registerStaticUse(element, compiler.enqueuer.codegen); |
626 | 626 |
(...skipping 7196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7823 const _LoopTypeVisitor(); | 7823 const _LoopTypeVisitor(); |
7824 int visitNode(ast.Node node) => HLoopBlockInformation.NOT_A_LOOP; | 7824 int visitNode(ast.Node node) => HLoopBlockInformation.NOT_A_LOOP; |
7825 int visitWhile(ast.While node) => HLoopBlockInformation.WHILE_LOOP; | 7825 int visitWhile(ast.While node) => HLoopBlockInformation.WHILE_LOOP; |
7826 int visitFor(ast.For node) => HLoopBlockInformation.FOR_LOOP; | 7826 int visitFor(ast.For node) => HLoopBlockInformation.FOR_LOOP; |
7827 int visitDoWhile(ast.DoWhile node) => HLoopBlockInformation.DO_WHILE_LOOP; | 7827 int visitDoWhile(ast.DoWhile node) => HLoopBlockInformation.DO_WHILE_LOOP; |
7828 int visitAsyncForIn(ast.AsyncForIn node) => HLoopBlockInformation.FOR_IN_LOOP; | 7828 int visitAsyncForIn(ast.AsyncForIn node) => HLoopBlockInformation.FOR_IN_LOOP; |
7829 int visitSyncForIn(ast.SyncForIn node) => HLoopBlockInformation.FOR_IN_LOOP; | 7829 int visitSyncForIn(ast.SyncForIn node) => HLoopBlockInformation.FOR_IN_LOOP; |
7830 int visitSwitchStatement(ast.SwitchStatement node) => | 7830 int visitSwitchStatement(ast.SwitchStatement node) => |
7831 HLoopBlockInformation.SWITCH_CONTINUE_LOOP; | 7831 HLoopBlockInformation.SWITCH_CONTINUE_LOOP; |
7832 } | 7832 } |
OLD | NEW |