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

Side by Side Diff: pkg/compiler/lib/src/native/enqueue.dart

Issue 2732633002: Remove Enqueuer.nativeEnqueuer (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 import '../common.dart'; 5 import '../common.dart';
6 import '../common/backend_api.dart' show ForeignResolver; 6 import '../common/backend_api.dart' show ForeignResolver;
7 import '../common/resolution.dart' show Resolution; 7 import '../common/resolution.dart' show Resolution;
8 import '../compiler.dart' show Compiler; 8 import '../compiler.dart' show Compiler;
9 import '../constants/values.dart'; 9 import '../constants/values.dart';
10 import '../common_elements.dart' show CommonElements; 10 import '../common_elements.dart' show CommonElements;
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return NativeBehavior.ofJsBuiltinCallSend( 551 return NativeBehavior.ofJsBuiltinCallSend(
552 node, reporter, compiler.commonElements, resolver); 552 node, reporter, compiler.commonElements, resolver);
553 } 553 }
554 } 554 }
555 555
556 class NativeCodegenEnqueuer extends NativeEnqueuerBase { 556 class NativeCodegenEnqueuer extends NativeEnqueuerBase {
557 final CodeEmitterTask emitter; 557 final CodeEmitterTask emitter;
558 558
559 final Set<ClassElement> doneAddSubtypes = new Set<ClassElement>(); 559 final Set<ClassElement> doneAddSubtypes = new Set<ClassElement>();
560 560
561 NativeCodegenEnqueuer(Compiler compiler, this.emitter) 561 final NativeResolutionEnqueuer _resolutionEnqueuer;
562
563 NativeCodegenEnqueuer(
564 Compiler compiler, this.emitter, this._resolutionEnqueuer)
562 : super(compiler, compiler.options.enableNativeLiveTypeAnalysis); 565 : super(compiler, compiler.options.enableNativeLiveTypeAnalysis);
563 566
564 void _processNativeClasses( 567 void _processNativeClasses(
565 WorldImpactBuilder impactBuilder, Iterable<LibraryElement> libraries) { 568 WorldImpactBuilder impactBuilder, Iterable<LibraryElement> libraries) {
566 super._processNativeClasses(impactBuilder, libraries); 569 super._processNativeClasses(impactBuilder, libraries);
567 570
568 // HACK HACK - add all the resolved classes. 571 // HACK HACK - add all the resolved classes.
569 NativeEnqueuerBase enqueuer = compiler.enqueuer.resolution.nativeEnqueuer;
570 Set<ClassElement> matchingClasses = new Set<ClassElement>(); 572 Set<ClassElement> matchingClasses = new Set<ClassElement>();
571 for (final classElement in enqueuer._registeredClasses) { 573 for (final classElement in _resolutionEnqueuer._registeredClasses) {
572 if (_unusedClasses.contains(classElement)) { 574 if (_unusedClasses.contains(classElement)) {
573 matchingClasses.add(classElement); 575 matchingClasses.add(classElement);
574 } 576 }
575 } 577 }
576 if (matchingClasses.isNotEmpty && _registeredClasses.isEmpty) { 578 if (matchingClasses.isNotEmpty && _registeredClasses.isEmpty) {
577 matchingClasses.addAll(_onFirstNativeClass(impactBuilder)); 579 matchingClasses.addAll(_onFirstNativeClass(impactBuilder));
578 } 580 }
579 _registerTypeUses(impactBuilder, matchingClasses, 'was resolved'); 581 _registerTypeUses(impactBuilder, matchingClasses, 'was resolved');
580 } 582 }
581 583
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 List<ClassEntity> directSubtypes = 619 List<ClassEntity> directSubtypes =
618 emitter.directSubtypes.putIfAbsent(superclass, () => <ClassEntity>[]); 620 emitter.directSubtypes.putIfAbsent(superclass, () => <ClassEntity>[]);
619 directSubtypes.add(cls); 621 directSubtypes.add(cls);
620 } 622 }
621 623
622 void logSummary(log(message)) { 624 void logSummary(log(message)) {
623 log('Compiled ${_registeredClasses.length} native classes, ' 625 log('Compiled ${_registeredClasses.length} native classes, '
624 '${_unusedClasses.length} native classes omitted.'); 626 '${_unusedClasses.length} native classes omitted.');
625 } 627 }
626 } 628 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698