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

Side by Side Diff: pkg/compiler/lib/src/ssa/codegen.dart

Issue 703083002: --trust-primitives: Remove bounds checks and receiver and argument type checks (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 part of ssa; 5 part of ssa;
6 6
7 class SsaCodeGeneratorTask extends CompilerTask { 7 class SsaCodeGeneratorTask extends CompilerTask {
8 8
9 final JavaScriptBackend backend; 9 final JavaScriptBackend backend;
10 10
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 246
247 js.Node attachLocationRange(js.Node jsNode, 247 js.Node attachLocationRange(js.Node jsNode,
248 SourceFileLocation sourcePosition, 248 SourceFileLocation sourcePosition,
249 SourceFileLocation endSourcePosition) { 249 SourceFileLocation endSourcePosition) {
250 return jsNode.withPosition(sourcePosition, endSourcePosition); 250 return jsNode.withPosition(sourcePosition, endSourcePosition);
251 } 251 }
252 252
253 void preGenerateMethod(HGraph graph) { 253 void preGenerateMethod(HGraph graph) {
254 new SsaInstructionSelection(compiler).visitGraph(graph); 254 new SsaInstructionSelection(compiler).visitGraph(graph);
255 new SsaTypeKnownRemover().visitGraph(graph); 255 new SsaTypeKnownRemover().visitGraph(graph);
256 new SsaTrustedCheckRemover(compiler).visitGraph(graph);
256 new SsaInstructionMerger(generateAtUseSite, compiler).visitGraph(graph); 257 new SsaInstructionMerger(generateAtUseSite, compiler).visitGraph(graph);
257 new SsaConditionMerger( 258 new SsaConditionMerger(
258 generateAtUseSite, controlFlowOperators).visitGraph(graph); 259 generateAtUseSite, controlFlowOperators).visitGraph(graph);
259 SsaLiveIntervalBuilder intervalBuilder = new SsaLiveIntervalBuilder( 260 SsaLiveIntervalBuilder intervalBuilder = new SsaLiveIntervalBuilder(
260 compiler, generateAtUseSite, controlFlowOperators); 261 compiler, generateAtUseSite, controlFlowOperators);
261 intervalBuilder.visitGraph(graph); 262 intervalBuilder.visitGraph(graph);
262 SsaVariableAllocator allocator = new SsaVariableAllocator( 263 SsaVariableAllocator allocator = new SsaVariableAllocator(
263 compiler, 264 compiler,
264 intervalBuilder.liveInstructions, 265 intervalBuilder.liveInstructions,
265 intervalBuilder.liveIntervals, 266 intervalBuilder.liveIntervals,
(...skipping 2447 matching lines...) Expand 10 before | Expand all | Expand 10 after
2713 js.PropertyAccess accessHelper(String name) { 2714 js.PropertyAccess accessHelper(String name) {
2714 Element helper = backend.findHelper(name); 2715 Element helper = backend.findHelper(name);
2715 if (helper == null) { 2716 if (helper == null) {
2716 // For mocked-up tests. 2717 // For mocked-up tests.
2717 return js.js('(void 0).$name'); 2718 return js.js('(void 0).$name');
2718 } 2719 }
2719 registry.registerStaticUse(helper); 2720 registry.registerStaticUse(helper);
2720 return backend.namer.elementAccess(helper); 2721 return backend.namer.elementAccess(helper);
2721 } 2722 }
2722 } 2723 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698