Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(729)

Unified Diff: pkg/compiler/lib/src/js_backend/codegen/task.dart

Issue 1512303002: dart2js cps: Add instruction for bounds checks. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 =

Powered by Google App Engine
This is Rietveld 408576698