OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 /// An entrypoint used to run portions of dart2js and measure its performance. | 5 /// An entrypoint used to run portions of dart2js and measure its performance. |
6 library compiler.tool.perf; | 6 library compiler.tool.perf; |
7 | 7 |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 import 'dart:io'; | 9 import 'dart:io'; |
10 | 10 |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 supportSerialization: serialization.supportSerialization); | 360 supportSerialization: serialization.supportSerialization); |
361 | 361 |
362 phase = Compiler.PHASE_RESOLVING; | 362 phase = Compiler.PHASE_RESOLVING; |
363 resolutionEnqueuer.applyImpact(mainImpact); | 363 resolutionEnqueuer.applyImpact(mainImpact); |
364 // Note: we enqueue everything in the program so we measure generating | 364 // Note: we enqueue everything in the program so we measure generating |
365 // kernel for the entire code, not just what's reachable from main. | 365 // kernel for the entire code, not just what's reachable from main. |
366 libraryLoader.libraries.forEach((LibraryEntity library) { | 366 libraryLoader.libraries.forEach((LibraryEntity library) { |
367 resolutionEnqueuer.applyImpact(computeImpactForLibrary(library)); | 367 resolutionEnqueuer.applyImpact(computeImpactForLibrary(library)); |
368 }); | 368 }); |
369 | 369 |
370 resolveLibraryMetadata(); | 370 if (commonElements.mirrorsLibrary != null) { |
| 371 resolveLibraryMetadata(); |
| 372 } |
371 reporter.log('Resolving...'); | 373 reporter.log('Resolving...'); |
372 processQueue(resolutionEnqueuer, mainFunction, libraryLoader.libraries); | 374 processQueue(resolutionEnqueuer, mainFunction, libraryLoader.libraries); |
373 resolutionEnqueuer.logSummary(reporter.log); | 375 resolutionEnqueuer.logSummary(reporter.log); |
374 | 376 |
375 (reporter as CompilerDiagnosticReporter) | 377 (reporter as CompilerDiagnosticReporter) |
376 .reportSuppressedMessagesSummary(); | 378 .reportSuppressedMessagesSummary(); |
377 | 379 |
378 if (compilationFailed) { | 380 if (compilationFailed) { |
379 // TODO(sigmund): more diagnostics? | 381 // TODO(sigmund): more diagnostics? |
380 print('compilation failed!'); | 382 print('compilation failed!'); |
381 exit(1); | 383 exit(1); |
382 } | 384 } |
383 | 385 |
384 backend.onResolutionEnd(); | 386 backend.onResolutionEnd(); |
385 closeResolution(); | 387 closeResolution(); |
386 var program = (backend as dynamic).kernelTask.program; | 388 var program = (backend as dynamic).kernelTask.program; |
387 print('total libraries: ${program.libraries.length}'); | 389 print('total libraries: ${program.libraries.length}'); |
388 }); | 390 }); |
389 } | 391 } |
OLD | NEW |