Chromium Code Reviews| Index: pkg/compiler/lib/src/js_backend/codegen/task.dart |
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/task.dart b/pkg/compiler/lib/src/js_backend/codegen/task.dart |
| index cad67af3c8e528e146e92a00d64e309e8dd32a70..855603840856fa5a874a0708515f803db6b05a81 100644 |
| --- a/pkg/compiler/lib/src/js_backend/codegen/task.dart |
| +++ b/pkg/compiler/lib/src/js_backend/codegen/task.dart |
| @@ -27,6 +27,7 @@ import '../../cps_ir/cps_ir_integrity.dart'; |
| import '../../cps_ir/optimizers.dart'; |
| import '../../cps_ir/optimizers.dart' as cps_opt; |
| import '../../cps_ir/type_mask_system.dart'; |
| +import '../../cps_ir/finalize.dart' show Finalize; |
| import '../../diagnostics/invariant.dart' show |
| DEBUG_MODE; |
| import '../../elements/elements.dart'; |
| @@ -209,13 +210,13 @@ class CpsFunctionCompiler implements FunctionCompiler { |
| applyCpsPass(new ShrinkingReducer(), cpsFunction); |
| applyCpsPass(new RedundantRefinementEliminator(typeSystem), cpsFunction); |
| applyCpsPass(new GVN(compiler), cpsFunction); |
| + applyCpsPass(new BoundsChecker(typeSystem, compiler.world), cpsFunction); |
|
asgerf
2015/12/10 18:32:14
It works better with refinement information. We mi
|
| applyCpsPass(new RemoveRefinements(), cpsFunction); |
| applyCpsPass(new ShrinkingReducer(), cpsFunction); |
| applyCpsPass(new ScalarReplacer(compiler), cpsFunction); |
| applyCpsPass(new MutableVariableEliminator(), cpsFunction); |
| applyCpsPass(new RedundantJoinEliminator(), cpsFunction); |
| applyCpsPass(new RedundantPhiEliminator(), cpsFunction); |
| - applyCpsPass(new BoundsChecker(typeSystem, compiler.world), cpsFunction); |
| applyCpsPass(new ShrinkingReducer(), cpsFunction); |
| applyCpsPass(new OptimizeInterceptors(backend), cpsFunction); |
| applyCpsPass(new ShrinkingReducer(), cpsFunction); |
| @@ -224,6 +225,7 @@ class CpsFunctionCompiler implements FunctionCompiler { |
| } |
| tree_ir.FunctionDefinition compileToTreeIr(cps.FunctionDefinition cpsNode) { |
| + applyCpsPass(new Finalize(backend), cpsNode); |
| tree_builder.Builder builder = new tree_builder.Builder( |
| reporter.internalError); |
| tree_ir.FunctionDefinition treeNode = |