Revert "dart2js status updates after Range.toString was added to dart:html"
This reverts commit 226a7e7177.
This reverts commit c279a951f4.
The test
co19/LayoutTests/fast/filesystem/file-writer-abort-continue_t01
broke after the inital commit. The second commit being reverted
is one that updated the status files for tests that now pass.
BUG=
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2635033004 .
- Fix dartanalyzer warnings about unused variables and missing returns
- Remove trailing whitespace
- Add a dummy pubspec.yaml so editors recognize it as a Dart project
R=whesse@google.com
Review-Url: https://codereview.chromium.org/2633213003 .
* Add documentation for a method
Adds docs for the `getPropertyValue` method of the `CssStyleDeclaration` class in the `html` package
* Remove unneeded extra line
tools/create_pkg_manifest.py currently outputs manifest entries in hash
order, which results in spurious reordering on updates, making it harder
to see the actual changes. Sort the manifest entries, to make the
output reproducible.
This will result in a large diff for the next manifest update, but every
subsequent update should have a minimal diff showing only the actual
changes, with no spurious reordering.
EventStreamSubscription.listen does a cast which is only working in
DDC because we're ignoring the failure. This wraps the listener to
check the argument rather than casting the function. Also picks up a
few misc changes to the main SDK that hadn't been merged into DDC.
BUG=
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2609633002 .
The test suite can be invoked as :
tools/test.py -rflutter --packages=<path_to_packages_dir>/.packages --flutter=<path_to_flutter_engine_workspace>/sky-shell --exclude-suite=pkg
Currently the sky_shell executable does not yet support the proper return
codes:
Success - 0
API error - 253
Compilation error - 254
Unhandled error - 255
Once this is fixed we can start running the tests against our
dart/flutter engine bleeding edge build bot.
R=zra@google.com
Review-Url: https://codereview.chromium.org/2602783002 .
Before, the VM's dart:typed_data was a complete replacement of the SDK's
dart:typed_data implementation instead of a patch. This is unlike all
the other SDK libraries. This difference requires special-casing for
dart:typed_data in tools that handle the SDK libraries (e.g., the
Analyzer's patching support, the GN build).
This change makes dart:typed_data back into a patch to the SDK's
implementation. It reintroduces a distinction between abstract
interface and concrete implementation classes, so there are more
classes.
BUG=
R=fschneider@google.com, vegorov@google.com
Committed: a9b906d319
Review-Url: https://codereview.chromium.org/2571563005 .
Before, the VM's dart:typed_data was a complete replacement of the SDK's
dart:typed_data implementation instead of a patch. This is unlike all
the other SDK libraries. This difference requires special-casing for
dart:typed_data in tools that handle the SDK libraries (e.g., the
Analyzer's patching support, the GN build).
This change makes dart:typed_data back into a patch to the SDK's
implementation. It reintroduces a distinction between abstract
interface and concrete implementation classes, so there are more
classes.
BUG=
R=fschneider@google.com
Review-Url: https://codereview.chromium.org/2571563005 .
Some of the kernel unit tests can now be run using:
tools/test.py -cdartk -rself_check language co19
This will search the pkg/ folder for files matching *_self_check.dart
and run each program with the compiled output as argument. If there is
no compiler, the test case itself is given as argument. These testers
are always run in batch-mode.
This type of test has no expected output, but is intended to check
itself by testing that certain invariants are not violated while
processing the given data set.
The 'self_check' runtime is not specifically tied to kernel,
although only kernel is using it at the moment.
There is also a new option --skip-compilation which skips the
compiler step. It doesn't interact nicely with the status files,
but can still be useful for a quick offline test.
Current limitations:
- All self-check tests are treated as the same test case. If one fails,
the remaining self-check testers don't run for that input.
- There is no way to run a subset of the self-check tests, or filter
them based on what compiler was used.
- Tests that are expected to fail in the compiler show up as
errors when skipping compilation.
BUG=
R=kustermann@google.com, whesse@google.com
Review-Url: https://codereview.chromium.org/2549793002 .
This adds status files for skipping tests that are not yet strong, and
a status file with the tests that fail with the dartk-vm configuration.
To test:
tools/test.py -cdartk --strong {language,lib,corelib}_strong
BUG=
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2583453002 .
Every crash of a dartk invocation will cause 1 more re-try. This is independent
of whether the crash was caused by the entire batch runner or just that single
compilation caused an exception.
The unfortunate side-effect of this is that ./tools/test.py will now print
warnings every time it retries the command.
R=vegorov@google.com
Review-Url: https://codereview.chromium.org/2576693002 .
In f7b6f0cf1c
some of the VM's libraries were modified to work the the analyzer's
patching support. This requires the class ExternalName, which used as
an annotation, to be present in the SDK.
Before: it was injected by dart code as part of a build step. Now, it
just appears as code in the SDK and we should not inject a (duplicate)
definition.
BUG=
R=kustermann@google.com
Review-Url: https://codereview.chromium.org/2580783002 .
This makes doing an SDK build in the Fuchsia tree easier.
The previous attempt at this change failed in gyp builds targeting xcode.
They failed because input lists for actions of the same target (e.g. the
actions for dartanalyzer) are merged and de-duped when the lists contain
relative paths, but merged and *not* de-duped when the lists contain
absolute paths. gyp rejects xcode files that it generated itself
when they contain duplicate entries.
This CL works around that bug, by using absolute paths in the GN build
and keeping relative paths in the gyp build.
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2567213002 .
Building the Observatory and the full SDK requires the third_party Dart
packages that we DEPS into a standalone SDK checkout. Fuchsia uses jiri
manifests rather than DEPS files, so this CL adds a script that
translates the DEPS for third_party/pkg stuff into a jiri manifest.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2548173002 .
The observatory assets tarball would be different every time due to the
version string, which makes it compress to a different size. The size
changes would then move the program data around, making it much more
difficult to determine if dart builds of different revisions are
actually identical.
Google Analytics doesn't need to know the exact version numbers, it will
be fine to say they are bleeding edge builds of a particular version.
BUG=
R=whesse@google.com
Review URL: https://codereview.chromium.org/2540383003 .
To make it clear in the status file whether a crash (or other issues) are coming
from the dartk compiler or from the vm, this CL introduces new status file
markers which are the normal markers prefixed with Dartk (e.g. DartkCrash).
Furthermore this CL groups common failures
* compiler: dartk & dartkp
* runtime: vm & dart_precompiled
into shared status file blocks, thereby deduplicating failures (which removes around 500 lines).
R=vegorov@google.com
Review URL: https://codereview.chromium.org/2543973002 .
Currently failures on the buildbot will look for example like this:
Short reproduction command (experimental):
python tools/test.py -cdartk -t120 --write-debug-log --write-test-outcome-log --copy-coredumps --exclude-suite pkg language/transitive_private_library_access_test
But developers only would like to see
python tools/test.py -cdartk -t120 language/transitive_private_library_access_test
R=whesse@google.com
Review URL: https://codereview.chromium.org/2532123002 .
This replaces the old --sanity-check flag from dartk. Some files have
been renamed to avoid the wording "sanity check".
Compared to --sanity-check, the following checks have been added:
- variables are not referenced out of scope
- variables are not redeclared
- class type parameters are not referenced from static context
A unit test has been added to check that the verifier rejects certain
invalid ASTs.
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/2531873002 .
co19 test suite updated to commit f05d5aee5930bfd487aedf832fbd7b832f502b15 of dart-lang/co19 repository, dated Nov 21 2016.
Status files are updated for this roll.
This updates co19 to commit 2e98931a4d40781110220d4b2d131efa6fc4669d
Merge branch 'co19patch' into rebased_co19_patch
Sort status lines ignoring alphabetical order
Status files updated according lates buildbot run results
Status files updated according the latest Chrome run
dart2js files updated for FF and Chrome on Linux
DEPS and VM status files updated
status file updated according Linux run
Status files updated according latest Dartium run
dart2js status file updated according the last tests run on FF
dart2js status file updated according the last tests run on Chrome and FF
Analyzer and VM status files are updated according last versions of co19 and sdk
BUG=
R=sortie@google.com
Review URL: https://codereview.chromium.org/2528953002 .
This removes third_party/pkg/kernel and changes dependencies to
refer to pkg/kernel instead.
Some status files are updated to reflect new test outcomes.
Previously the testing script was just printing interleaved stack traces with
all the other output. Which means it's not associatable with a single test and
is highly confusing!
This CL associates the stack trace information of tests which time out to the
particular test which timed out.
R=whesse@google.com
Review URL: https://codereview.chromium.org/2524733004 .
Calling out to python from GN to process gypi files is relatively
expensive with a 20-45ms fixed overhead for setup/teardown regardless
of what the script does. This makes runtime/vm/BUILD.gn take 1-1.5s
(per toolchain) to run as the template for libraries expands
out to 25 calls to gypi_to_gn.py, even though the actual time spent
processing the gypi files is negligible.
This replaces those repeated calls to gypi_to_gn.py with a call to a
custom script that process all of the gypi files needed for runtime/vm
and places the results into a single scope which can then be read from
in the template and replaces a few other scattered calls to
gypi_to_gn.py with a smaller number of calls that process multiple
gypi files and place the results into a single scope.
The end result is processing all of dart's GN files in a fuchsia build
takes ~250ms instead of >3 seconds.
R=zra@google.com
Review URL: https://codereview.chromium.org/2472813002 .
Committed: ad86d6ed26
I'm starting to try to track down the hang in socket_test in
a call to read() on Mac. We weren't checking that the calls
to set fds non-blocking were successful, so I'll start with
adding code to do that.
This CL also fixes the GN arm android build.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2495003003 .
Appears to break builds with errors like:
ninja -C xcodebuild/ProductX64 runtime
ninja: Entering directory `xcodebuild/ProductX64'
ninja: error: '../../runtime/vm/async_patch.dart', needed by 'obj/runtime/vm/concatenate_async_patch.inputdeps.stamp', missing and no known rule to make it
BUILD FAILED
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@
This reverts commit ad86d6ed26.
BUG=
Review URL: https://codereview.chromium.org/2492053002 .
Calling out to python from GN to process gypi files is relatively
expensive with a 20-45ms fixed overhead for setup/teardown regardless
of what the script does. This makes runtime/vm/BUILD.gn take 1-1.5s
(per toolchain) to run as the template for libraries expands
out to 25 calls to gypi_to_gn.py, even though the actual time spent
processing the gypi files is negligible.
This replaces those repeated calls to gypi_to_gn.py with a call to a
custom script that process all of the gypi files needed for runtime/vm
and places the results into a single scope which can then be read from
in the template and replaces a few other scattered calls to
gypi_to_gn.py with a smaller number of calls that process multiple
gypi files and place the results into a single scope.
The end result is processing all of dart's GN files in a fuchsia build
takes ~250ms instead of >3 seconds.
R=zra@google.com
Review URL: https://codereview.chromium.org/2472813002 .
As you can see, it requires "npm" to already be installed. Travis, I
think already has that on images. How should we handle this on the
Chrome bots?
What else did I do here that's wrong?
R=whesse@google.com
Review URL: https://codereview.chromium.org/2490013003 .
* Analyzer and VM status files are updated according last versions of co19 and sdk
* dart2js status file updated according the last tests run on Chrome and FF
* dart2js status file updated according the last tests run on FF
* Status files updated according latest Dartium run
* status file updated according Linux run
* DEPS and VM status files updated
* dart2js files updated for FF and Chrome on Linux
* Status files updated according the latest Chrome run
Previously it was emitted in the directory used for intermediate files, which
is build system specific.
test.py script needs to locate patched_sdk thus its location must be aligned
between build systems.
Use checked in SDK if available and fallback on dart_boostrap if not available to speed up Debug builds
BUG=
R=kustermann@google.com
Review URL: https://codereview.chromium.org/2469683002 .
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.
- bring test script modifications that allow to test Kernel pipeline
BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com
Review URL: https://codereview.chromium.org/2434123003 .
GN is unhappy when a rule that consumes a file generated by
another rule doesn't depend directly on that rule.
This change also quiets output from invoking Dart to follow the
rule of GN builds that a successful build generates no output.
Review URL: https://codereview.chromium.org/2446473002 .
- unified kAppAfterRun and kAppJITAfterRun to kAppJIT
- adjusted the test configuration to make dart2app and dart2appjit to mean
the same
- delete GenerateFullSnapshot function as it is not used anymore
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2429023002 .
For blobs, put all four pieces into a single file with a header describing their offsets.
For dynamic libraries, move the vm isolate and isolate pieces into the dynamic library as additional read-only sections.
Automatically detect if the script argument is an app snapshot and initialize the VM appropriately, similar to automatic detection of script snapshots.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2405393002 .
This change enables gn.py to take comma separated lists of modes,
architectures, and os's similar to build.py. It also accepts 'all'
for each of these just like build.py. GN is invoked in parallel to
save time.
This change also adds an option --gn to build.py to invoke ninja
instead of the usual build system.
Will investigate invoking tools/gn.py automagically from build.py in
a future change.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2392603005 .
The acute problem this solves is that hacking on DDC generates a large
number of files into its gen/ directory. It's enough files that once you
have done that, the SDK no longer builds successfully because it chokes
on them all.
To fix that, instead of using list_files.py, I made a little
list_dart_files.py that is explicitly for Dart files and knows to
exclude gen/ and tests. This also avoids needing the sort of hairy
regexes to match different sets of files.
As far as I can tell, this works, but GYP is pretty mysterious to me,
so let me know if I got something wrong or there is a better way to do
it.
R=whesse@google.com
Review URL: https://codereview.chromium.org/2391863002 .
This change:
- Sucks in gn binaries
- Sucks in a version of llvm that the GN build likes
- Adds tools/gn.py to invoke gn
- Adds a root BUILD.gn and .gn file
- Removes chrome boilerplate we don't need
- etc.
This lets us do a standalone build of the 'runtime'
target for x64, ia32, arm, arm64, mips, and the
simulators on Linux, and arm and arm64 on Android.
It does not include tcmalloc, and hasn't been tested
on Mac or Windows. That work and more cleanup of
chrome boilerplate will come in follow-up CLs.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2350583002 .
Statically linking in the tcmalloc code is enough
to override the built-in malloc. I have this set up to
exclude the code for collecting heap profiles in a
Product build. There's still about a 230KB increase in
binary size, though. I think this isn't a big problem
since right now this is enabled only for server Linux.
product binary size:
before x64: 9569600
after x64: 9807840
increase: 238240 (2.5%)
before ia32: 9122836
after ia32: 9360944
increase: 238108 (2.6%)
before mips: 9418680
after mips: 9640940
increase: 222260 (2.4%)
InitialRSS:
product:
before x64: 6307840
after x64: 7430144
increase: 1122304 (17.8%)
release (--no-profiler)
before x64: 7843840
after x64: 9207808
increase: 1363968 (17.4%)
R=asiva@google.com, whesse@google.com
Review URL: https://codereview.chromium.org/2316813002 .
copying what I see for the cps-ir flag. Turns out we were not passing the flag
when running the html tests.
BUG=
Review URL: https://codereview.chromium.org/2284793002 .
The build was broken by the addition of OS::MaxRSS, which I've added
unimplemented. I need the packages/ output to get the Dart language
tests going. I've added Directory::Exists() so that we can give
the right error message on a missing package: import instead of
crashing.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2259613002 .
This CL adds rules to the GN build for building run_vm_tests for
Fuchsia. It also adds a wrapper program in
//runtime/bin/run_vm_tests_fuchsia.cc and a file containing the
output of 'run_vm_tests --list', //runtime/bin/fuchsia_vm_tests.txt.
The wrapper program and text file make it easier to run the tests
on Fuchsia, and should be able to go away once we are out of the
bootstrapping phase.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2187153003 .
This CL enables unboxed doubles for simdbc64. Unboxed
doubles are stored in regular dbc registers, which are
really 64-bit stack slots. It also implements binary
and unary double operations and comparisons.
R=vegorov@google.com
Review URL: https://codereview.chromium.org/2120703002 .
- [x] Start reloading even earlier.
- [x] Keep the value of FLAG_reload_every per-isolate (so spawned isolates reload eagerly too).
- [x] Adjust the reload every back off curve to be linear in the beginning.
- [x] Cap the reload every threshold at 1,000,000
- [x] Test status file updates.
- [x] Stop disabling the background compiler / OSR when running tests.
- [x] Skip multi tests with compilation errors when reloading.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2133823002 .