| OLD | NEW |
| 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 library compiler_configuration; | 5 library compiler_configuration; |
| 6 | 6 |
| 7 import 'dart:io' show Platform; | 7 import 'dart:io' show Platform; |
| 8 | 8 |
| 9 import 'runtime_configuration.dart' show RuntimeConfiguration; | 9 import 'runtime_configuration.dart' show RuntimeConfiguration; |
| 10 | 10 |
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 } | 362 } |
| 363 | 363 |
| 364 CompilationCommand computeCompilationCommand( | 364 CompilationCommand computeCompilationCommand( |
| 365 String tempDir, | 365 String tempDir, |
| 366 String buildDir, | 366 String buildDir, |
| 367 CommandBuilder commandBuilder, | 367 CommandBuilder commandBuilder, |
| 368 List arguments, | 368 List arguments, |
| 369 Map<String, String> environmentOverrides) { | 369 Map<String, String> environmentOverrides) { |
| 370 var exec = "$buildDir/dart_bootstrap"; | 370 var exec = "$buildDir/dart_bootstrap"; |
| 371 var args = new List(); | 371 var args = new List(); |
| 372 args.add("--snapshot=$tempDir"); |
| 372 args.add("--snapshot-kind=app-aot"); | 373 args.add("--snapshot-kind=app-aot"); |
| 373 if (useBlobs) { | 374 if (useBlobs) { |
| 374 args.add("--snapshot=$tempDir/out.aotsnapshot"); | |
| 375 args.add("--use-blobs"); | 375 args.add("--use-blobs"); |
| 376 } else { | |
| 377 args.add("--snapshot=$tempDir/out.S"); | |
| 378 } | 376 } |
| 379 if (isAndroid && arch == 'arm') { | 377 if (isAndroid && arch == 'arm') { |
| 380 args.add('--no-sim-use-hardfp'); | 378 args.add('--no-sim-use-hardfp'); |
| 381 } | 379 } |
| 382 args.addAll(arguments); | 380 args.addAll(arguments); |
| 383 | 381 |
| 384 return commandBuilder.getCompilationCommand('precompiler', tempDir, !useSdk, | 382 return commandBuilder.getCompilationCommand('precompiler', tempDir, !useSdk, |
| 385 bootstrapDependencies(buildDir), exec, args, environmentOverrides); | 383 bootstrapDependencies(buildDir), exec, args, environmentOverrides); |
| 386 } | 384 } |
| 387 | 385 |
| 388 CompilationCommand computeAssembleCommand( | 386 CompilationCommand computeAssembleCommand( |
| 389 String tempDir, | 387 String tempDir, |
| 390 String buildDir, | 388 String buildDir, |
| 391 CommandBuilder commandBuilder, | 389 CommandBuilder commandBuilder, |
| 392 List arguments, | 390 List arguments, |
| 393 Map<String, String> environmentOverrides) { | 391 Map<String, String> environmentOverrides) { |
| 394 | 392 |
| 395 var cc, shared; | 393 var cc, shared, libname; |
| 396 if (Platform.isLinux) { | 394 if (Platform.isLinux) { |
| 397 cc = 'gcc'; | 395 cc = 'gcc'; |
| 398 shared = '-shared'; | 396 shared = '-shared'; |
| 397 libname = 'libprecompiled.so'; |
| 399 } else if (Platform.isMacOS) { | 398 } else if (Platform.isMacOS) { |
| 400 cc = 'clang'; | 399 cc = 'clang'; |
| 401 shared = '-dynamiclib'; | 400 shared = '-dynamiclib'; |
| 401 libname = 'libprecompiled.dylib'; |
| 402 } else { | 402 } else { |
| 403 throw "Platform not supported: ${Platform.operatingSystem}"; | 403 throw "Platform not supported: ${Platform.operatingSystem}"; |
| 404 } | 404 } |
| 405 if (isAndroid) { | 405 if (isAndroid) { |
| 406 // TODO: If we're not using "--use-blobs" we need to use the arm cross | 406 // TODO: If we're not using "--use-blobs" we need to use the arm cross |
| 407 // compiler instead of just 'gcc' for . | 407 // compiler instead of just 'gcc' for . |
| 408 } | 408 } |
| 409 | 409 |
| 410 var cc_flags; | 410 var cc_flags; |
| 411 if (arch == 'x64') { | 411 if (arch == 'x64') { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 423 } else if (arch == 'mips') { | 423 } else if (arch == 'mips') { |
| 424 cc_flags = "-EL"; | 424 cc_flags = "-EL"; |
| 425 } else { | 425 } else { |
| 426 throw "Architecture not supported: $arch"; | 426 throw "Architecture not supported: $arch"; |
| 427 } | 427 } |
| 428 | 428 |
| 429 var exec = cc; | 429 var exec = cc; |
| 430 var args = (cc_flags != null) ? [ shared, cc_flags ] : [ shared ]; | 430 var args = (cc_flags != null) ? [ shared, cc_flags ] : [ shared ]; |
| 431 args.addAll([ | 431 args.addAll([ |
| 432 '-o', | 432 '-o', |
| 433 '$tempDir/out.aotsnapshot', | 433 '$tempDir/$libname', |
| 434 '$tempDir/out.S' | 434 '$tempDir/snapshot.S' |
| 435 ]); | 435 ]); |
| 436 | 436 |
| 437 return commandBuilder.getCompilationCommand('assemble', tempDir, !useSdk, | 437 return commandBuilder.getCompilationCommand('assemble', tempDir, !useSdk, |
| 438 bootstrapDependencies(buildDir), exec, args, environmentOverrides); | 438 bootstrapDependencies(buildDir), exec, args, environmentOverrides); |
| 439 } | 439 } |
| 440 | 440 |
| 441 // This step reduces the amount of space needed to run the precompilation | 441 // This step reduces the amount of space needed to run the precompilation |
| 442 // tests by 60%. | 442 // tests by 60%. |
| 443 CompilationCommand computeRemoveAssemblyCommand( | 443 CompilationCommand computeRemoveAssemblyCommand( |
| 444 String tempDir, | 444 String tempDir, |
| 445 String buildDir, | 445 String buildDir, |
| 446 CommandBuilder commandBuilder, | 446 CommandBuilder commandBuilder, |
| 447 List arguments, | 447 List arguments, |
| 448 Map<String, String> environmentOverrides) { | 448 Map<String, String> environmentOverrides) { |
| 449 var exec = 'rm'; | 449 var exec = 'rm'; |
| 450 var args = ['$tempDir/out.S']; | 450 var args = ['$tempDir/snapshot.S']; |
| 451 | 451 |
| 452 return commandBuilder.getCompilationCommand( | 452 return commandBuilder.getCompilationCommand( |
| 453 'remove_assembly', | 453 'remove_assembly', |
| 454 tempDir, | 454 tempDir, |
| 455 !useSdk, | 455 !useSdk, |
| 456 bootstrapDependencies(buildDir), | 456 bootstrapDependencies(buildDir), |
| 457 exec, | 457 exec, |
| 458 args, | 458 args, |
| 459 environmentOverrides); | 459 environmentOverrides); |
| 460 } | 460 } |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 } | 525 } |
| 526 | 526 |
| 527 CompilationCommand computeCompilationCommand( | 527 CompilationCommand computeCompilationCommand( |
| 528 String tempDir, | 528 String tempDir, |
| 529 String buildDir, | 529 String buildDir, |
| 530 CommandBuilder commandBuilder, | 530 CommandBuilder commandBuilder, |
| 531 List arguments, | 531 List arguments, |
| 532 Map<String, String> environmentOverrides) { | 532 Map<String, String> environmentOverrides) { |
| 533 var exec = "$buildDir/dart_bootstrap"; | 533 var exec = "$buildDir/dart_bootstrap"; |
| 534 var args = new List(); | 534 var args = new List(); |
| 535 args.add("--snapshot=$tempDir/out.jitsnapshot"); | 535 args.add("--snapshot=$tempDir"); |
| 536 args.add("--snapshot-kind=app-after-run"); | 536 args.add("--snapshot-kind=app-after-run"); |
| 537 args.addAll(arguments); | 537 args.addAll(arguments); |
| 538 | 538 |
| 539 return commandBuilder.getCompilationCommand( | 539 return commandBuilder.getCompilationCommand( |
| 540 'dart2snapshot', | 540 'dart2snapshot', |
| 541 tempDir, | 541 tempDir, |
| 542 !useSdk, | 542 !useSdk, |
| 543 bootstrapDependencies(buildDir), | 543 bootstrapDependencies(buildDir), |
| 544 exec, | 544 exec, |
| 545 args, | 545 args, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 : super(isDebug: isDebug, isChecked: isChecked), this.useBlobs = useBlobs; | 585 : super(isDebug: isDebug, isChecked: isChecked), this.useBlobs = useBlobs; |
| 586 | 586 |
| 587 CompilationCommand computeCompilationCommand( | 587 CompilationCommand computeCompilationCommand( |
| 588 String tempDir, | 588 String tempDir, |
| 589 String buildDir, | 589 String buildDir, |
| 590 CommandBuilder commandBuilder, | 590 CommandBuilder commandBuilder, |
| 591 List arguments, | 591 List arguments, |
| 592 Map<String, String> environmentOverrides) { | 592 Map<String, String> environmentOverrides) { |
| 593 var exec = "$buildDir/dart"; | 593 var exec = "$buildDir/dart"; |
| 594 var args = new List(); | 594 var args = new List(); |
| 595 args.add("--snapshot=$tempDir/out.jitsnapshot"); | 595 args.add("--snapshot=$tempDir"); |
| 596 args.add("--snapshot-kind=app-jit-after-run"); | 596 args.add("--snapshot-kind=app-jit-after-run"); |
| 597 if (useBlobs) { | 597 if (useBlobs) { |
| 598 args.add("--use-blobs"); | 598 args.add("--use-blobs"); |
| 599 } | 599 } |
| 600 args.addAll(arguments); | 600 args.addAll(arguments); |
| 601 | 601 |
| 602 return commandBuilder.getCompilationCommand( | 602 return commandBuilder.getCompilationCommand( |
| 603 'dart2snapshot', | 603 'dart2snapshot', |
| 604 tempDir, | 604 tempDir, |
| 605 !useSdk, | 605 !useSdk, |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 RuntimeConfiguration runtimeConfiguration, | 668 RuntimeConfiguration runtimeConfiguration, |
| 669 String buildDir, | 669 String buildDir, |
| 670 TestInformation info, | 670 TestInformation info, |
| 671 List<String> vmOptions, | 671 List<String> vmOptions, |
| 672 List<String> sharedOptions, | 672 List<String> sharedOptions, |
| 673 List<String> originalArguments, | 673 List<String> originalArguments, |
| 674 CommandArtifact artifact) { | 674 CommandArtifact artifact) { |
| 675 return <String>[]; | 675 return <String>[]; |
| 676 } | 676 } |
| 677 } | 677 } |
| OLD | NEW |