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

Side by Side Diff: pkg/compiler/lib/src/dart2js.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
« no previous file with comments | « pkg/compiler/lib/src/compiler.dart ('k') | pkg/compiler/lib/src/ssa/codegen.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library dart2js.cmdline; 5 library dart2js.cmdline;
6 6
7 import 'dart:async' 7 import 'dart:async'
8 show Future, EventSink; 8 show Future, EventSink;
9 import 'dart:convert' show UTF8, LineSplitter; 9 import 'dart:convert' show UTF8, LineSplitter;
10 import 'dart:io' 10 import 'dart:io'
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 List<String> options = new List<String>(); 109 List<String> options = new List<String>();
110 bool explicitOut = false; 110 bool explicitOut = false;
111 bool wantHelp = false; 111 bool wantHelp = false;
112 bool wantVersion = false; 112 bool wantVersion = false;
113 String outputLanguage = 'JavaScript'; 113 String outputLanguage = 'JavaScript';
114 bool stripArgumentSet = false; 114 bool stripArgumentSet = false;
115 bool analyzeOnly = false; 115 bool analyzeOnly = false;
116 bool analyzeAll = false; 116 bool analyzeAll = false;
117 bool enableAsyncAwait = false; 117 bool enableAsyncAwait = false;
118 bool trustTypeAnnotations = false; 118 bool trustTypeAnnotations = false;
119 bool trustPrimitives = false;
119 bool checkedMode = false; 120 bool checkedMode = false;
120 // List of provided options that imply that output is expected. 121 // List of provided options that imply that output is expected.
121 List<String> optionsImplyCompilation = <String>[]; 122 List<String> optionsImplyCompilation = <String>[];
122 bool hasDisallowUnsafeEval = false; 123 bool hasDisallowUnsafeEval = false;
123 // TODO(johnniwinther): Measure time for reading files. 124 // TODO(johnniwinther): Measure time for reading files.
124 SourceFileProvider inputProvider = new CompilerSourceFileProvider(); 125 SourceFileProvider inputProvider = new CompilerSourceFileProvider();
125 diagnosticHandler = new FormattingDiagnosticHandler(inputProvider); 126 diagnosticHandler = new FormattingDiagnosticHandler(inputProvider);
126 Map<String, dynamic> environment = new Map<String, dynamic>(); 127 Map<String, dynamic> environment = new Map<String, dynamic>();
127 128
128 passThrough(String argument) => options.add(argument); 129 passThrough(String argument) => options.add(argument);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 implyCompilation(String argument) { 204 implyCompilation(String argument) {
204 optionsImplyCompilation.add(argument); 205 optionsImplyCompilation.add(argument);
205 passThrough(argument); 206 passThrough(argument);
206 } 207 }
207 208
208 setTrustTypeAnnotations(String argument) { 209 setTrustTypeAnnotations(String argument) {
209 trustTypeAnnotations = true; 210 trustTypeAnnotations = true;
210 implyCompilation(argument); 211 implyCompilation(argument);
211 } 212 }
212 213
214 setTrustPrimitives(String argument) {
215 trustPrimitives = true;
216 implyCompilation(argument);
217 }
218
213 setCheckedMode(String argument) { 219 setCheckedMode(String argument) {
214 checkedMode = true; 220 checkedMode = true;
215 passThrough(argument); 221 passThrough(argument);
216 } 222 }
217 223
218 addInEnvironment(String argument) { 224 addInEnvironment(String argument) {
219 int eqIndex = argument.indexOf('='); 225 int eqIndex = argument.indexOf('=');
220 String name = argument.substring(2, eqIndex); 226 String name = argument.substring(2, eqIndex);
221 String value = argument.substring(eqIndex + 1); 227 String value = argument.substring(eqIndex + 1);
222 environment[name] = value; 228 environment[name] = value;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 new OptionHandler('--enable-diagnostic-colors', 308 new OptionHandler('--enable-diagnostic-colors',
303 (_) => diagnosticHandler.enableColors = true), 309 (_) => diagnosticHandler.enableColors = true),
304 new OptionHandler('--enable[_-]checked[_-]mode|--checked', 310 new OptionHandler('--enable[_-]checked[_-]mode|--checked',
305 (_) => setCheckedMode('--enable-checked-mode')), 311 (_) => setCheckedMode('--enable-checked-mode')),
306 new OptionHandler('--enable-concrete-type-inference', 312 new OptionHandler('--enable-concrete-type-inference',
307 (_) => implyCompilation( 313 (_) => implyCompilation(
308 '--enable-concrete-type-inference')), 314 '--enable-concrete-type-inference')),
309 new OptionHandler('--trust-type-annotations', 315 new OptionHandler('--trust-type-annotations',
310 (_) => setTrustTypeAnnotations( 316 (_) => setTrustTypeAnnotations(
311 '--trust-type-annotations')), 317 '--trust-type-annotations')),
318 new OptionHandler('--trust-primitives',
319 (_) => setTrustPrimitives(
320 '--trust-primitives')),
312 new OptionHandler(r'--help|/\?|/h', (_) => wantHelp = true), 321 new OptionHandler(r'--help|/\?|/h', (_) => wantHelp = true),
313 new OptionHandler('--package-root=.+|-p.+', setPackageRoot), 322 new OptionHandler('--package-root=.+|-p.+', setPackageRoot),
314 new OptionHandler('--analyze-all', setAnalyzeAll), 323 new OptionHandler('--analyze-all', setAnalyzeAll),
315 new OptionHandler('--analyze-only', setAnalyzeOnly), 324 new OptionHandler('--analyze-only', setAnalyzeOnly),
316 new OptionHandler('--analyze-signatures-only', setAnalyzeOnly), 325 new OptionHandler('--analyze-signatures-only', setAnalyzeOnly),
317 new OptionHandler('--disable-native-live-type-analysis', passThrough), 326 new OptionHandler('--disable-native-live-type-analysis', passThrough),
318 new OptionHandler('--categories=.*', setCategories), 327 new OptionHandler('--categories=.*', setCategories),
319 new OptionHandler('--disable-type-inference', implyCompilation), 328 new OptionHandler('--disable-type-inference', implyCompilation),
320 new OptionHandler('--terse', passThrough), 329 new OptionHandler('--terse', passThrough),
321 new OptionHandler('--dump-info', implyCompilation), 330 new OptionHandler('--dump-info', implyCompilation),
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } else if (exitCode == 253) { 688 } else if (exitCode == 253) {
680 print(">>> TEST CRASH"); 689 print(">>> TEST CRASH");
681 } else { 690 } else {
682 print(">>> TEST FAIL"); 691 print(">>> TEST FAIL");
683 } 692 }
684 stderr.writeln(">>> EOF STDERR"); 693 stderr.writeln(">>> EOF STDERR");
685 subscription.resume(); 694 subscription.resume();
686 }); 695 });
687 }); 696 });
688 } 697 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/compiler.dart ('k') | pkg/compiler/lib/src/ssa/codegen.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698