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

Side by Side Diff: dart/pkg/compiler/lib/src/js_backend/backend.dart

Issue 930143002: Remove implicit dependencies. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Changes committed as r43874. Created 5 years, 10 months 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 js_backend; 5 part of js_backend;
6 6
7 const VERBOSE_OPTIMIZER_HINTS = false; 7 const VERBOSE_OPTIMIZER_HINTS = false;
8 8
9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR"); 9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR");
10 10
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 // TODO(ngeoffray): Should we have the resolver register those instead? 947 // TODO(ngeoffray): Should we have the resolver register those instead?
948 Element e = findHelper('boolConversionCheck'); 948 Element e = findHelper('boolConversionCheck');
949 if (e != null) enqueue(world, e, registry); 949 if (e != null) enqueue(world, e, registry);
950 } 950 }
951 951
952 if (TRACE_CALLS) { 952 if (TRACE_CALLS) {
953 traceHelper = findHelper('traceHelper'); 953 traceHelper = findHelper('traceHelper');
954 assert(traceHelper != null); 954 assert(traceHelper != null);
955 enqueueInResolution(traceHelper, registry); 955 enqueueInResolution(traceHelper, registry);
956 } 956 }
957
958 // TODO(ahe): Don't know who uses this class, but it wasn't correctly
959 // enqueued after we stopped compiling the @proxy constant eagerly.
960 world.registerInstantiatedClass(
961 interceptorsLibrary.findLocal('JSUInt31'), registry);
962
957 registerCheckedModeHelpers(registry); 963 registerCheckedModeHelpers(registry);
958 } 964 }
959 965
960 onResolutionComplete() { 966 onResolutionComplete() {
961 super.onResolutionComplete(); 967 super.onResolutionComplete();
962 computeMembersNeededForReflection(); 968 computeMembersNeededForReflection();
963 rti.computeClassesNeedingRti(); 969 rti.computeClassesNeedingRti();
964 computeFunctionsToAlwaysInline(); 970 computeFunctionsToAlwaysInline();
965 } 971 }
966 972
(...skipping 1423 matching lines...) Expand 10 before | Expand all | Expand 10 after
2390 return findHelper('mainHasTooManyParameters'); 2396 return findHelper('mainHasTooManyParameters');
2391 } 2397 }
2392 2398
2393 void forgetElement(Element element) { 2399 void forgetElement(Element element) {
2394 constants.forgetElement(element); 2400 constants.forgetElement(element);
2395 constantCompilerTask.dartConstantCompiler.forgetElement(element); 2401 constantCompilerTask.dartConstantCompiler.forgetElement(element);
2396 aliasedSuperMembers.remove(element); 2402 aliasedSuperMembers.remove(element);
2397 } 2403 }
2398 2404
2399 void registerMainHasArguments(Enqueuer enqueuer) { 2405 void registerMainHasArguments(Enqueuer enqueuer) {
2406 // The first argument could be a list of strings.
2407 enqueuer.registerInstantiatedClass(
2408 listImplementation, compiler.globalDependencies);
2409 enqueuer.registerInstantiatedClass(
2410 stringImplementation, compiler.globalDependencies);
2411
2400 // If the main method takes arguments, this compilation could be the target 2412 // If the main method takes arguments, this compilation could be the target
2401 // of Isolate.spawnUri. Strictly speaking, that can happen also if main 2413 // of Isolate.spawnUri. Strictly speaking, that can happen also if main
2402 // takes no arguments, but in this case the spawned isolate can't 2414 // takes no arguments, but in this case the spawned isolate can't
2403 // communicate with the spawning isolate. 2415 // communicate with the spawning isolate.
2404 enqueuer.enableIsolateSupport(); 2416 enqueuer.enableIsolateSupport();
2405 } 2417 }
2406 2418
2407 /// Returns the filename for the output-unit named [name]. 2419 /// Returns the filename for the output-unit named [name].
2408 /// 2420 ///
2409 /// The filename is of the form "<main output file>_<name>.part.js". 2421 /// The filename is of the form "<main output file>_<name>.part.js".
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
2700 } 2712 }
2701 } 2713 }
2702 2714
2703 /// Records that [constant] is used by the element behind [registry]. 2715 /// Records that [constant] is used by the element behind [registry].
2704 class Dependency { 2716 class Dependency {
2705 final ConstantValue constant; 2717 final ConstantValue constant;
2706 final Element annotatedElement; 2718 final Element annotatedElement;
2707 2719
2708 const Dependency(this.constant, this.annotatedElement); 2720 const Dependency(this.constant, this.annotatedElement);
2709 } 2721 }
OLDNEW
« no previous file with comments | « dart/pkg/compiler/lib/src/dart_backend/backend.dart ('k') | dart/pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698