Commit Graph

1689 Commits

Author SHA1 Message Date
William Hesse 4d99c9fdf3 Add fasta variable to status files and test.py
Change-Id: Iffecf6cb54c3a58de96c44518a0ffd86b2688e27
Reviewed-on: https://dart-review.googlesource.com/34680
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-01-16 09:44:30 +00:00
Alexander Aprelev c352b2203b Add dart2.bat to accommodate running dart2 tests on Windows
Bug: https://github.com/dart-lang/sdk/issues/31707#issuecomment-356708044
Change-Id: I7e7f7515fec393b1403cf5f8da2d740771ff10b7
Reviewed-on: https://dart-review.googlesource.com/34025
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-11 01:35:17 +00:00
Jenny Messerly cf38dfe0e1 Ensure strong mode flag is always set for DDC tests
This makes it easier to run DDC tests, and fixes a bug where DDC+Kernel
tests could be run without setting the strong mode flag.

Change-Id: I7b0632d903050c7385c553ba8d4562062084df28
Reviewed-on: https://dart-review.googlesource.com/34024
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-10 23:45:19 +00:00
Vijay Menon bedf7121e0 Wire build rules to generate ddc-kernel versions of SDK files
Change-Id: I7d39bce7a3382c7a332ecdc4886bb08dabfdf09a
Reviewed-on: https://dart-review.googlesource.com/33900
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-01-10 18:34:38 +00:00
Paul Berry 1cdef9834a Remove stray print statement from test suite.
This looks like it was included in
a922e51fed by mistake, and it's
cluttering up the output of test runs.

Change-Id: I38227ee014009909a7e45a0d5db696dba277c6c3
Reviewed-on: https://dart-review.googlesource.com/32920
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-08 14:52:02 +00:00
Jens Johansen 501cca4741 [test.py] Fix race condition when copying files
When testing multitests needed files are copied, but some files are
copied multiple times, creating race conditions that might cause tests
to fail because incomplete files are read.

For instance running
"python tools/test.py -m release -c dartk --strong language_2"
is fine (i.e. everything passes), but running
"python tools/test.py -m release -c dartk --strong language_2/generic_constructor_mixin3_test"
can get 0, 1 or 2 errors depending on the computers mood...

This fixes the problem by introducing a map from copied-to-path to Future,
so the same Future is returned when asked to copy a file subsequent times,
thus avoiding the race condition.

Fixes #31368.

Bug:
Change-Id: Id7d4a12424085c75f3543bd06a617121ad5eff35
Reviewed-on: https://dart-review.googlesource.com/32282
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-01-05 07:50:54 +00:00
Stephen Adams a922e51fed Add '// dart2jsOptions=--flag1 --flag2' facility to tests
Change-Id: I4366446e8f5bb8d9223407e24a1d863156422187
Reviewed-on: https://dart-review.googlesource.com/32220
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-01-05 00:37:56 +00:00
Sigmund Cherem 226602dc18 Reapply "Support module names in DDK"
This includes two fixes that only caused problems in windows:
  - we assumed file-uris in other parts of DDK, and this caused problems with sourcemaps
  - we generated module names containing a leading "./" (e.g. "./expect"), this didn't cause trouble in linux, but it is incorrect.

Bug:
Change-Id: Id3c363670544ed0a8373184ec5445549346fc7bf
Reviewed-on: https://dart-review.googlesource.com/31748
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-02 22:12:13 +00:00
Sigmund Cherem 80a74e6bff Revert "Support module names in DDK" and "Do not assume file-uris in other parts of DDK"
This reverts commits e122f48257 and b2b902f55a.

Reason for revert: broke ddk in windows, need to investigate proper fix

Change-Id: I5c03bae406f57570cc465aad32610c19ac385944
Reviewed-on: https://dart-review.googlesource.com/31541
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-27 23:35:14 +00:00
Sigmund Cherem e122f48257 Support module names in DDK
This adds the basic support for using the path to the .dill file as a module
name. The main difference between this and Jake's original CL is that we now
hide the multi-root as an implementation detail.

Change-Id: If24af1aaefa5c1445c7c84bd9ff4a7a4d738a320
Reviewed-on: https://dart-review.googlesource.com/31283
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-12-27 17:52:22 +00:00
Alexander Thomas a8e0c63e55 [Infra] Delete generated compilations for dartk/dartkp compilers as well
This should prevent the bots from running out of disk space.

Change-Id: I3ca7794f8006f616473cf02c62f000a4c44d5b36
Reviewed-on: https://dart-review.googlesource.com/31120
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2017-12-21 16:18:21 +00:00
Alexander Markov b6276eb3d5 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v3.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

Issue: https://github.com/dart-lang/sdk/issues/31339

Re-landing https://dart-review.googlesource.com/29941 with the fix:

* Use checked-in SDK to avoid timeouts on SIMARM bots.
  Checked-in SDK was updated and now includes necessary fixes.

Change-Id: I4a5a99455b60204572f3d619d7eb374035b03e40
Reviewed-on: https://dart-review.googlesource.com/30640
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-20 18:04:42 +00:00
Alexander Markov d8f27c3841 [VM] Enable optimizations based on strong mode types
Strong mode types are queried from:

* Return types of interface targets of instance calls.
* Return types of static calls.
* Types of instance and static fields.
* Types of local variables (for initial types of phis).

The strong mode types are used to specialize int and double operations
and optimize 'is' checks.

https://github.com/dart-lang/sdk/issues/30480
Change-Id: I2302509f396eacfcab8ed41e3f50e8c74dd662fd
Reviewed-on: https://dart-review.googlesource.com/30386
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 19:23:22 +00:00
Vyacheslav Egorov 0dc324a68d Revert "[VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2."
This reverts commit 2a3f00a179.

Reason for revert: SIMARM bots are timing out.

Original change's description:
> [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
> 
> * Enable --limit-ints-to-64-bits for CFE when it is used to generate
>   kernel for VM as CFE relies on int.parse being able to parse correct
>   literals and reject incorrect.
> 
> * Pass --limit-ints-to-64-bits to gen_kernel via environment
>   variable to support batch mode compilation.
> 
> * Use current Dart SDK instead of checked-in Dart SDK to run CFE
>   in gen_kernel as checked-in Dart SDK is old and it doesn't have
>   int.parse fix yet.
> 
> Issue: https://github.com/dart-lang/sdk/issues/31339
> Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
> Reviewed-on: https://dart-review.googlesource.com/29941
> Commit-Queue: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=vegorov@google.com,kustermann@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com

Change-Id: Iecf26953bc6ae95c3bf0d1142bb89fb51cb0aaee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/31339
Reviewed-on: https://dart-review.googlesource.com/30440
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 08:52:25 +00:00
Alexander Markov 2a3f00a179 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

* Use current Dart SDK instead of checked-in Dart SDK to run CFE
  in gen_kernel as checked-in Dart SDK is old and it doesn't have
  int.parse fix yet.

Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
Reviewed-on: https://dart-review.googlesource.com/29941
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-18 21:43:06 +00:00
Martin Kustermann 0b8d270434 Do not use pkg/vm wrapper script when running fully-linked kernel files
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I5211c7d8fb16ea60509916bf525cc36ac05dd3a9
Reviewed-on: https://dart-review.googlesource.com/29591
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-14 16:03:15 +00:00
Martin Kustermann 36c3f97440 Enable dartk batch running of simarm/simarm64/simdbc
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I19f9507e0f2285c6b2dd29ca5991487dfb99fdb8
Reviewed-on: https://dart-review.googlesource.com/29581
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-14 10:26:24 +00:00
Jens Johansen a37c34b5fb [test.py] Pass environment to dartdev[ck] through createCommand
Some tests are run via createCommand, some via
computeCompilationArtifact. This meant that some tests got an
environment and some didn't, resulting in the batch workers
getting restarted all the time.
This CL fixes the issue by passing the environment to createCommand as
well, meaning that the batch workers doesn't restart unnecessarily.

Before:

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevk language_2
[03:09 | 100% | + 5171 | -    0]

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevc language_2
[02:33 | 100% | + 5170 | -    0]


Now:

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevk language_2
[01:41 | 100% | + 5171 | -    0]

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevc language_2
[01:59 | 100% | + 5170 | -    0]


I.e. dartdevk tests are now almost twice as fast (on my machine).

Bug:
Change-Id: I15111436d3411b6ba85209950e4a5f20ee515539
Reviewed-on: https://dart-review.googlesource.com/29100
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-13 12:22:55 +00:00
Martin Kustermann 717ed651f5 Treat compile-time errors from the batch mode runner correctly
The batch runner uses an exitCode of 1 to signal compile-time errors,
which we need to support in the VMKernelCompilationCommandOutput.

Furthermore allow running the output of a dart -> kernel compilation on
the VM even though we expect an compile-time error (sometimes the
frontend has bugs and doesn't emit the compile-time errors and we need
to run the VM to get them)

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I8b4c34557dbf3de487247d75b02777bacbd452c1
Reviewed-on: https://dart-review.googlesource.com/28642
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 17:18:10 +00:00
Martin Kustermann ba8014df04 Ensure we pass the kernel file to dart_bootstrap when using cfe (in batch and non-batch mode)
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: Ibca196103b868177afa0ab9e15c913bbea2474ed
Reviewed-on: https://dart-review.googlesource.com/28760
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 16:20:54 +00:00
Martin Kustermann a11d7a1643 Add support for running simdbc64 in batch mode
This makes isolate tests fail, since we no longer run from "source" (or
rather use the kernel-isolate to to "source -> dill" for us).

The special vm/cc suite will continue to be run via the kerne-isolate, so we
have the coverage for these (which probably include reload tests).

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I51bd2f9345d650b4ff2a98aa1c8365c765e0d013
Reviewed-on: https://dart-review.googlesource.com/28722
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 15:26:41 +00:00
Martin Kustermann 891e591415 Only compile to kernel for precompilation for -cdartkp or -dartkp --strong
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: Ife12640a61513a0312fcfc3713f1a44f69c1ac9a
Reviewed-on: https://dart-review.googlesource.com/28621
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 14:26:46 +00:00
Martin Kustermann d1ed915244 Use batch mode compilation for normal -cdartkp
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I70790a33cfbfbc7c2c48c6e77074f955d6de7e01
Reviewed-on: https://dart-review.googlesource.com/28280
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 13:47:11 +00:00
Vyacheslav Egorov efca9c69ab [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Reland of https://dart-review.googlesource.com/27820

Change-Id: I49400fae716f75425e70bf1e561b3375ba39157e
Reviewed-on: https://dart-review.googlesource.com/28565
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 12:19:10 +00:00
Aske Simon Christensen 8cfe626e31 When runtime == none, treat MissingRuntimeError and Timeout as Pass.
https://github.com/dart-lang/sdk/commit/9f966d5b804be25b95d4e59d2b3bf629ea9e8420
introduced treating RuntimeError as Pass when there is no runtime.
This change additionally treats MissingRuntimeError and Timeout as
Pass, as these results also don't make sense when the code is not run.

Change-Id: Icebc5f4ffa8fe189aa822f2ce063a44e517380f5
Reviewed-on: https://dart-review.googlesource.com/28200
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-12-12 10:17:13 +00:00
Martin Kustermann 317c55fa2c Reland "Use batch mode compilation for -cdartkp --strong"
Preliminary testing shows, this increases performance by around 20%. The
main benefit is by re-using a warmed-up VM and not start one from
scratch for every compilation.

Going forward we can do more optimizations, e.g. reading the platform
dill file only once into memory (instead of repeatedly) ...

  => This requires us using the new state-full IKG compiler.

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I2d3448783fc118611baf4671187a897227a65a6c
Reviewed-on: https://dart-review.googlesource.com/28400
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 10:14:20 +00:00
Bob Nystrom 3d35875082 Clean up the multitest code.
I had a few minutes while waiting on a build. :)

Change-Id: I8683b7076040c2a4757665ecd6efd9e415d49660
Reviewed-on: https://dart-review.googlesource.com/28000
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-12 01:30:59 +00:00
Bob Nystrom a53e4dd504 Finish migrating stuff out of lib_strong.
Some of these are data files that weren't picked up by the migration
script. Some are files that slipped between blocks of tests.

Change-Id: I184dc4701758b280444d54ec55c225ade30f3276
Reviewed-on: https://dart-review.googlesource.com/26423
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-12-11 23:45:23 +00:00
Vyacheslav Egorov e84fa65696 Revert "[vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration."
This reverts commit 50865e9387.

CQ on Mac is broken.

TBR=kustermann@google.com

Bug:
Change-Id: I41a7cab59c076dba4f25f5904725cca5bb4619c9
Reviewed-on: https://dart-review.googlesource.com/28420
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 21:07:43 +00:00
Alexander Markov 0352170a8f [VM] Avoid depending on --kernel-binaries if .dill file is specified
If a .dill file is specified on the VM command line (dart/dart_bootstrap),
and --kernel-binaries is not specified, then this dill file is used as
the source of platform libraries.

It supports the case of AOT-compiling a self-contained .dill file.

Change-Id: I42956a20b98958b9a2440f156fbbef17bfc359f8
Reviewed-on: https://dart-review.googlesource.com/24341
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 20:53:46 +00:00
Alan Knight af0b27480a Revert "Use batch mode compilation for -cdartkp --strong"
This reverts commit 8c38a415de.

Bug:
Change-Id: I1b159f2d2d10b51ee843a2ba9a61feb339152338
Reviewed-on: https://dart-review.googlesource.com/28362
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 18:22:49 +00:00
Martin Kustermann 8c38a415de Use batch mode compilation for -cdartkp --strong
Preliminary testing shows, this increases performance by around 20%. The
main benefit is by re-using a warmed-up VM and not start one from
scratch for every compilation.

Going forward we can do more optimizations, e.g. reading the platform
dill file only once into memory (instead of repeatedly) ...

  => This requires us using the new state-full IKG compiler.

Change-Id: I74db7dbb1aa79289d1045ef41f960215cf5b3b35
Reviewed-on: https://dart-review.googlesource.com/28240
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 15:55:31 +00:00
Vyacheslav Egorov 50865e9387 [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Change-Id: I882b28f6a011eabf69c349ff0792b275434e39ff
Reviewed-on: https://dart-review.googlesource.com/27820
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 12:49:22 +00:00
Morten Krogh-Jespersen e01a98d11f Write exit code on failures.
Bug:
Change-Id: I3ada8f2be879d9a4565d29b16e86b07faa59930a
Reviewed-on: https://dart-review.googlesource.com/25981
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2017-12-11 11:06:37 +00:00
Jens Johansen 88780cc3a9 [test.py] Fix output path so it also works on Windows (take 2)
A path like
E:\b\build\slave\[...]\short27_al_args_concrete_subclass_test\E:\b\[...]
is not going to work on Windows, and while a path like
/whatnot/path/blah//whatnot/path
does work in Linux it doesn't look great.
This should fix it (somewhere else than before).

Bug:
Change-Id: I3e926ceb5a5e510b411328872ddc5da9efdf9f2e
Reviewed-on: https://dart-review.googlesource.com/27740
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-08 14:15:55 +00:00
Mike Fairhurst dcdd12cc1a Fix fasta progress checking script: collect stdout from passing tests
Required a new flag for test.py; passing tests may have multiple test
cases and to collect that we need the stdout. So you can now pass
--print_passing_stdout to get that.

Parse the result, doing some dances to handle

MM:SS +PP -FF Some tests failed

vs

MM:SS +PP All tests passed!

With even an extra line-ending in the latter case.

Bug:
Change-Id: Ic0b5591b4867508edd3f23a61a7764aa88762be6
Reviewed-on: https://dart-review.googlesource.com/24701
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-08 00:21:29 +00:00
Jens Johansen 514c0a9938 [test.py] Fix output path so it also works on Windows
A path like
E:\b\build\slave\[...]\short27_al_args_concrete_subclass_test\E:\b\[...]
is not going to work on Windows, and while a path like
/whatnot/path/blah//whatnot/path
does work in Linux it doesn't look great.
This should fix it.

Bug:
Change-Id: I72ef0da3a5fa2d33115745460a3d03f5df506f9f
Reviewed-on: https://dart-review.googlesource.com/27100
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-07 11:42:05 +00:00
Alexander Markov 421ed32f54 [VM] Support generating kernel for JIT mode
* The tool pkg/vm/bin/precompiler_kernel_front_end.dart is renamed to
  gen_kernel.dart and extended with --aot option (off by default).

Change-Id: I0aaa6c6b4acd1600beba736193fa2ee2d723a581
Reviewed-on: https://dart-review.googlesource.com/26363
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-06 18:48:50 +00:00
Régis Crelier a38ac7cf12 Resubmit "Set --strong in runtime arguments also when specified in the precompiled configuration"
Update dartkp status files, since --strong is now properly passed to the runtime.

Change-Id: I36dcc04a70f46730b24b5aaa2f118ed9baf42cbd
Reviewed-on: https://dart-review.googlesource.com/26561
Reviewed-by: Régis Crelier <regis@google.com>
2017-12-06 17:25:23 +00:00
Siva Annamalai 74b329035b Revert "Set --strong in runtime arguments also when specified in the precompiled configuration"
This reverts commit 2b62b921a4.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Set --strong in runtime arguments also when specified in the precompiled configuration
> 
> Bug:
> Change-Id: I7296a9d8c8a8f3c0f39f065cbcc0e99f268b32ac
> Reviewed-on: https://dart-review.googlesource.com/26466
> Reviewed-by: Régis Crelier <regis@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

TBR=asiva@google.com,regis@google.com

Change-Id: I6bbfa509ef6b6679ec5030139ad276eb81790138
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/26540
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2017-12-06 02:27:27 +00:00
Siva Annamalai 2b62b921a4 Set --strong in runtime arguments also when specified in the precompiled configuration
Bug:
Change-Id: I7296a9d8c8a8f3c0f39f065cbcc0e99f268b32ac
Reviewed-on: https://dart-review.googlesource.com/26466
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2017-12-06 00:37:27 +00:00
Alexander Markov 2cd25f0210 [VM] Wire up package:vm/kernel_front_end in precompiler2 and test.py
This CL introduces a tool for compiling Dart sources to kernel
files specifically for Dart 2.0 AOT compiler (precompiler).

Internally, the new tool uses package:vm/kernel_front_end which invokes
kernel front-end to produce kernel Program and then runs additional
whole-program transformations specific to AOT.

The new tool is used in pkg/vm/tool/precompiler2 and in tools/test.py
when running tests in '-c dartkp --strong' mode.

This CL re-enables AOT-specific transformations disabled by
6cfc0558ec, so it silences several
tests for https://github.com/dart-lang/sdk/issues/31424#issuecomment-347996235

Closes https://github.com/dart-lang/sdk/issues/31498

Issue: https://github.com/dart-lang/sdk/issues/30480

Change-Id: I4860f2adad17be9dcb1ca4609a4a10ad29ec51cd
Reviewed-on: https://dart-review.googlesource.com/25720
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-04 22:28:39 +00:00
Bob Nystrom 9f966d5b80 When runtime == none, treat RuntimeError as Pass.
Obviously, if there is no runtime, a runtime error is never going to
occur. It's silly to force people maintaining status files to have to
manually handle this case. (There are 28 "runtime != none" clauses in
our status files right now.)

Change-Id: Id94157a9fc2635fe6ee9435ce97156b6c4daed5f
Reviewed-on: https://dart-review.googlesource.com/23144
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-12-02 01:52:22 +00:00
Bob Nystrom 46c41309f6 Don't skip browser tests with compile errors.
Change-Id: Ia0a5603d9cbe6d7d5e40843a152a1503dfa4af25
Reviewed-on: https://dart-review.googlesource.com/21563
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-02 01:44:02 +00:00
Alexander Markov d282487636 Enable devirtualization optimization when testing dartkp --strong.
Issue: https://github.com/dart-lang/sdk/issues/30480
Change-Id: I09a93391eaa42ff2c258b33bb229e2ca662463db
Reviewed-on: https://dart-review.googlesource.com/24562
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-29 22:56:40 +00:00
Karl Klose 2d48be6e62 Invoke dartdevk.dart through shell script that locates the 'dart' executable
Change-Id: Id13cc838b67785b12f95d19b480a6a830ad5c003
Reviewed-on: https://dart-review.googlesource.com/24120
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2017-11-29 11:27:50 +00:00
Jens Johansen 6e9c74274c Also output --network for testing http server commandline
If for instance running ddc kernel tests via

tools/test.py -mrelease -cdartdevk language_2 -v

one is told that a http server is started with a command line that will
create a http server listening to 0.0.0.0, while generally the one
actually launched by the testing scripts only listen to 127.0.0.1.

This CL adds the extra --network output to the command line given.

Bug:
Change-Id: Ifd9278360efb0b12249fe866c49ed923f7e73b0e
Reviewed-on: https://dart-review.googlesource.com/24102
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-29 07:30:40 +00:00
Bob Nystrom 1e6e72af79 Refactor some code around TestSuite.
I was working on adding support for treating RuntimeError as Pass if
runtime == none and I noticed a lot of dead or redundant code, so
cleaned it up some.

Change-Id: I0be451a7075d99bc07d1407883861fb06d777c02
Reviewed-on: https://dart-review.googlesource.com/22800
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-22 16:56:17 +00:00
Bob Nystrom 68dc77f456 Build DDC's SDK as part of the regular build.
This involves a few main pieces:

- Add code to the GN scripts to generate DDC's patched SDK and then
  compile it to summaries and JS in the build output directory.

- Add support to the underlying DDC build scripts to support controlling
  which files are built where.

- Update test.dart to use the DDC SDK from the build directory.

- Update create_sdk to use the built SDK instead of the checked in one.

- Fix various internal DDC tools to build their own copy of the SDK
  (since they can't easily find the one in the build directory because
  it's path if config-specific) and use those.

- Delete the checked DDC SDK JS and summaries.

I think I got everything working. The built Dart SDK looks fine -- it's
identical to one built using the old build scripts.

The various tools and DDC's little test runner I *think* work, but there
may be a bug or two in there. I tried the various things I could and it
seems like they work but it's hard to tell since they may be kind of
broken right now anyway.

Bug:
Change-Id: Iea77915a5c1cc8450f60ebfbdf8c725c7ea2f32c
Reviewed-on: https://dart-review.googlesource.com/18144
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-11-20 23:24:07 +00:00
Sigmund Cherem b69cc7c98b Sort expectations in test.dart --list
This makes it easier to compare the output of two different runs of test.py
--list.

Change-Id: Iabbbd4d6f60b9b7523e2773520a8b2d588c99ae3
Reviewed-on: https://dart-review.googlesource.com/21520
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-11-18 00:51:06 +00:00