Commit graph

13338 commits

Author SHA1 Message Date
William Hesse 0051d1b678 Run tests on analyzer compiled with dart2js only on dedicated bot
BUG=https://github.com/dart-lang/sdk/issues/26813
R=lrn@google.com

Review URL: https://codereview.chromium.org/2118753002 .
2016-07-01 11:14:58 +02:00
Johnni Winther 5e3419a8e2 Handle constant ?? expressions in constructors.
R=het@google.com

Review URL: https://codereview.chromium.org/2116483002 .
2016-07-01 11:03:15 +02:00
Johnni Winther f00a439f7c Handle invalid deferred prefix declarations.
R=het@google.com

Review URL: https://codereview.chromium.org/2116473002 .
2016-07-01 10:53:42 +02:00
Johnni Winther ee29d16836 Support serialization of loadLibrary
Adds support for serialization of the 'loadLibrary' getter implicitly
defined on deferred prefixes.

R=het@google.com

Review URL: https://codereview.chromium.org/2110323003 .
2016-07-01 10:48:08 +02:00
Johnni Winther bbd2d67481 Fix and tests command line options
Initial test of regression on the --resolve-only vs --resolution-inputs options.

R=het@google.com

Review URL: https://codereview.chromium.org/2104233003 .
2016-07-01 10:33:30 +02:00
Johnni Winther 2f1cc9e958 Handle forwarding constructors
Handle serialization of forwarding constructors that are defined by
forwarding constructors:

  class A {}
  class B {}
  class C {}
  class D = A with B, C;

The default constructor of D is a forwarding constructor defined by the
default constructor of its super type A+B, which itself is a forwarding
constructor. Thus, the defining constructor might itself be synthesized
and therefore serialized indirectly.

R=het@google.com

Review URL: https://codereview.chromium.org/2105183003 .
2016-07-01 10:28:50 +02:00
Johnni Winther 95e6dde715 Handle fields with initializers in constant constructors.
This also normalizes CompileTimeConstantEvaluator to always create an ErroneousConstantExpression for constants with compile time errors.

R=het@google.com

Review URL: https://codereview.chromium.org/2104843002 .
2016-07-01 10:22:10 +02:00
William Hesse c06fc7e8d9 Skip dartium co19 tests that always time out
BUG=
R=eernst@google.com

Review URL: https://codereview.chromium.org/2113643002 .
2016-06-30 15:12:15 +02:00
Lasse R.H. Nielsen b39e048c4b Fix regression for the one case where we deliberately don't follow the RFC.
The new code didn't have that exception.

Also optimize some string operations when it's possible.

R=eernst@google.com

Review URL: https://codereview.chromium.org/2117453002 .
2016-06-30 14:52:23 +02:00
Lasse R.H. Nielsen 323ca7e410 Add fast-mode Uri class.
Optimize parser and make it recognize a class of URIs that don't need extra
handling: no escapes, no funny characters, already (nearly or completely)
normalized.
Have a class specifically for those URIs which retains the original
input string without having allocate any further strings.

R=floitsch@google.com

Committed: 00090a0c72

Review URL: https://codereview.chromium.org/2086613003 .
2016-06-30 13:25:36 +02:00
Lasse R.H. Nielsen 00090a0c72 Add fast-mode Uri class.
Optimize parser and make it recognize a class of URIs that don't need extra
handling: no escapes, no funny characters, already (nearly or completely)
normalized.
Have a class specifically for those URIs which retains the original
input string without having allocate any further strings.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2086613003.
2016-06-30 12:20:15 +02:00
William Hesse f36b49f8f3 Update status for failing and flaky tests.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2109593003 .
2016-06-29 22:42:51 +02:00
Erik Ernst 442fc53b3c Implementation of modified scoping for initializing formals.
In order to make an implementation of initializing formal access in
`dart2js` available as specified in issue #26655 now, this CL changes
the scope management such that initializing formals are not in scope in
the constructor body, only in the initializer list.

This is done by introducing a new notion of scopes implemented
by `ExtensionScope`: Such a scope will extend an existing
`NestedScope` rather than adding a new nested scope to it.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2059883002 .
2016-06-29 11:42:03 +02:00
William Hesse e601dfe69e Update status for ie11 and firefox on windows.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2109503003 .
2016-06-28 15:40:30 +02:00
Lasse R.H. Nielsen ddf35f2d56 Fix bug in BytesBuilder. Add tests.
Fixes issue #26772

BUG= http://dartbug.com/26772
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2100103002 .
2016-06-28 14:34:53 +02:00
Martin Kustermann 75c8b6d74c Attempt to make probability of test flake in tests/standalone/io/socket_bind_test lower
The test is attempting to bind 2 different sockets to the *same* port:
  * socket 1: (IPv4, port)
  * socket 2: (IPv6, port)
Between making socket 1 and socket 2 there can be other processes on the host
grabbing a (IPvX, port) combination thereby making the binding of socket 2 fail.

We will now retry the test a few times which will hopefully make the flakiness
go away.

BUG=https://github.com/dart-lang/sdk/issues/26716
R=whesse@google.com

Review URL: https://codereview.chromium.org/2105553003 .
2016-06-28 12:36:20 +02:00
Johnni Winther 0cf82efd76 Handle double literals in constant constructors.
R=het@google.com

Review URL: https://codereview.chromium.org/2102553002 .
2016-06-28 09:47:16 +02:00
Johnni Winther f010d5e01c Fix evaluation of !=
ConstantExpression.evaluate now computes != as the negation of the result of ==

R=het@google.com

Review URL: https://codereview.chromium.org/2094273002 .
2016-06-28 09:41:49 +02:00
Johnni Winther 717333c801 Handle rti for closures.
Use ResolvedAst to retrieve ClosureClassMap data for runtime type information.

R=het@google.com

Review URL: https://codereview.chromium.org/2100813002 .
2016-06-28 09:36:27 +02:00
Johnni Winther 9445281b0c Split long-running serialization tests to avoid timeouts
Review URL: https://codereview.chromium.org/2096423002 .
2016-06-27 15:29:03 +02:00
Johnni Winther 1bafa91055 Support malformed types
Adds a simple serialization of malformed types.

R=het@google.com

Review URL: https://codereview.chromium.org/2099703002 .
2016-06-27 10:10:21 +02:00
Johnni Winther 74775a65b2 Skip unresolved functions in NoSuchMethodRegistry
Deserialized function do not have a [ResolvedAst] if they are not live.

The first stop towards the best solution is to skip unresolved (not live)
method, next step is to avoid registration of these methods in the
first place.

R=het@google.com

Review URL: https://codereview.chromium.org/2092913004 .
2016-06-27 09:50:40 +02:00
Lasse R.H. Nielsen f6d6792bc8 Add test for trailing commas in parameter lists and argument lists.
Test is marked as failing for everyone.
When implementing the feature for a platform, the platform should mark itself
as no longer failing.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2087863003 .
2016-06-27 08:58:05 +02:00
Johnni Winther 4ce5c75b08 Update semantic_visitor_send_data to reflect the current state.
BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org/2095883002 .
2016-06-24 11:21:35 +02:00
Johnni Winther 1e27180a6a Serialize erroneous element and more
- Adds support for serialization/deserialization of ErroneousElement.
- Imports dart:core for serialized libraries.
- Fixes and tests reserialization for ResolvedAst.sourceUri

R=het@google.com

Review URL: https://codereview.chromium.org/2088233003 .
2016-06-24 10:38:19 +02:00
Matthias Hausner 26593c7688 Parse field initializer expressions in the correct scope class
When parsing a field initializer expression or mixin fields,
the current_class must be the mixin application class, not the
mixin class. This is necessary so that type arguments are
resolved in the correct scope class.

Dart2js fails the new regression test language/regress_18713.
Filed issue #26743.

BUG=18713
R=regis@google.com

Review URL: https://codereview.chromium.org/2085003002 .
2016-06-21 12:32:36 -07:00
William Hesse a4d514ae2a Update status for flaky browser tests
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2080773003 .
2016-06-21 13:57:31 +02:00
Matthias Hausner 11d14177e1 Instantiating a const instance of an abstract class is a compile-time error
BUG=22007
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2077293003 .
2016-06-20 11:19:01 -07:00
William Hesse 4b8f8d8ef9 Update status for Chrome 51
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2084563002 .
2016-06-20 16:34:31 +02:00
William Hesse 45faa87e2f Update status for failing and flaky tests.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2079213003 .
2016-06-20 12:57:55 +02:00
Johnni Winther c3085e3164 Enforce use of the forEachInstanceField ordering for constructed constants.
This ensures that constructed constants use the same field layout as the emitted classes.

R=het@google.com

Committed: 67b71d0cb7

Review URL: https://codereview.chromium.org/2072223002 .

Reverted: f817910fd0
2016-06-20 12:49:30 +02:00
Siva Annamalai da1a5534b4 Fix for issue 26555, do not inherit package root and package config from the parent isolate when doing Isolate.spawn
BUG=26555
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2072873002 .
2016-06-17 09:59:15 -07:00
Matthias Hausner 7a88b69d79 Allow rethrow in nested try statements
Fixes bug where rethrow was rejected when the enclosing catch clause
was not part of the innermost try statement.

BUG=26530
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2075813003 .
2016-06-16 16:04:53 -07:00
Florian Schneider 60cba24f86 Make timer test more robust.
This would fail, if the cancel() call would not be executed in time.

Give it a little extra time to make intermittent failures go away.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2075793002 .
2016-06-16 14:30:11 -07:00
John McCutchan b2c755c59a Skip packages_file_test until issue #26715 is resolved
BUG=

Review URL: https://codereview.chromium.org/2072793002 .
2016-06-16 12:24:22 -07:00
John McCutchan 6d0c97114f Mark convert/streamed_conversion_json_utf8_decode_test as slow
Hopefully we'll stop seeing these failures:

https://build.chromium.org/p/client.dart/builders/vm-mac-debug-x64-be/builds/8604/steps/checked%20vm%20tests/logs/stdio

BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2071583004 .
2016-06-16 11:17:58 -07:00
William Hesse 5a0c900d12 Update status for dart2js co19 tests.
BUG=https://github.com/dart-lang/sdk/issues/26714
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2070803002 .
2016-06-16 14:37:20 +02:00
Johnni Winther 85271bae28 Serialize and process patch metadata
- Metadata on patched elements is also serialized.
- Backend.onElementResolved is also called for deserialized elements.

BUG=
R=het@google.com

Review URL: https://codereview.chromium.org/2065413002 .
2016-06-16 12:21:35 +02:00
Johnni Winther 5f3cf6f932 Serialize metadata
R=het@google.com

Committed: f8e3f22347

Review URL: https://codereview.chromium.org/2060183002 .

Reverted: 368d4d54d3
2016-06-16 12:13:17 +02:00
Johnni Winther 34bab63be2 Remove Registry from registerMetadataConstant
Avoids registration of metadata from within resolution.
This prepares for handling deserialized metadata.

R=het@google.com

Committed: ed1777e4b2

Review URL: https://codereview.chromium.org/2056903003 .

Reverted: 368d4d54d3
2016-06-16 12:04:36 +02:00
Johnni Winther 368d4d54d3 Revert "Remove Registry from registerMetadataConstant" and "Serialize metadata"
This reverts commit ed1777e4b2.
This reverts commit f8e3f22347.

Review URL: https://codereview.chromium.org/2070493003 .
2016-06-16 10:11:51 +02:00
Johnni Winther f8e3f22347 Serialize metadata
R=het@google.com

Review URL: https://codereview.chromium.org/2060183002 .
2016-06-16 09:45:12 +02:00
Johnni Winther ed1777e4b2 Remove Registry from registerMetadataConstant
Avoids registration of metadata from within resolution.
This prepares for handling deserialized metadata.

R=het@google.com

Review URL: https://codereview.chromium.org/2056903003 .
2016-06-16 09:17:34 +02:00
Johnni Winther 364f84f05d Serialize NativeBehavior for elements
- Serialize nativeMethodBehavior, nativeFieldLoadBehavior and nativeFieldStoreBehavior.
- Add a test for the serialization/deserialization of native data for dart:html.

R=het@google.com

Review URL: https://codereview.chromium.org/2057993003 .
2016-06-16 08:52:25 +02:00
Zachary Anderson b3e5c5eeed DBC: Adds BinarySmiOp instruction
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2053213004 .
2016-06-15 14:48:11 -07:00
Matthias Hausner 42f5c25fa5 Type parameter and class name must not conflict
Implement missing name conflict check.

BUG=14513
R=regis@google.com

Review URL: https://codereview.chromium.org/2063223003 .
2016-06-15 13:27:59 -07:00
Terry Lucas 9040d8f478 Revert "Test that only fails in checked windows"
This reverts commit 41c42a1493.

TBR=whesse@google.com

Review URL: https://codereview.chromium.org/2070073003 .
2016-06-15 10:38:32 -07:00
Terry Lucas 41c42a1493 Test that only fails in checked windows
TBR=ahe@google.com,whesse@google.com

Review URL: https://codereview.chromium.org/2073433002 .
2016-06-15 07:46:52 -07:00
Terry Lucas 9fa59d0277 Only fails in checked mode
TBR=ahe@google.com,whesse@google.com

Review URL: https://codereview.chromium.org/2065163009 .
2016-06-15 07:19:17 -07:00
Terry Lucas 081f91230b A few more tests are now passing, to make bots green.
TBR=ahe@google.com,whesse@google.com

Review URL: https://codereview.chromium.org/2067153003 .
2016-06-15 06:07:39 -07:00
Terry Lucas 25d6dd4fef Make the Dartium bots green again
TBR=ahe@google.com,whesse@google.com

Review URL: https://codereview.chromium.org/2063413003 .
2016-06-15 05:51:50 -07:00
William Hesse f76236db74 Revert "Revert "Make Safari tests more robust.""
This reverts commit b9cdd0e1b2.
This change should now work, because the buildbot recipes use the
renamed flag --reset-browser-configuration.

BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org/2070513002 .
2016-06-15 04:29:33 -07:00
Peter von der Ahé b9cdd0e1b2 Revert "Make Safari tests more robust."
This reverts commit 199806da03.

That commit failed because tools/bots/compiler.py is being ignored, and test.py is invoked based on recipes not included in this repository.

TBR

Review URL: https://codereview.chromium.org/2065053003 .
2016-06-15 10:39:36 +02:00
Peter von der Ahé 199806da03 Make Safari tests more robust.
R=whesse@google.com

Review URL: https://codereview.chromium.org/1871883002 .
2016-06-15 10:16:14 +02:00
Zach Anderson 22e449ba09 Fix Windows time zone name extraction. Update API docs
On Windows, the OS provides a full name for the time zone
rather than an abbreviation. Further the string may
contain non-ASCII characters, so a conversion is
necessary. This CL updates the API docs to match the
actual behavior, and fixes the string conversion problem.

fixes #17085

R=asiva@google.com

Review URL: https://codereview.chromium.org/2069783002 .
2016-06-14 13:51:19 -07:00
Zachary Anderson c018cdf4e3 Fix flaking file lock test
fixes #26698

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2067823002 .
2016-06-14 10:04:18 -07:00
Lasse R.H. Nielsen 191ab42d64 Make VM resolvePackageUri fail on package:foo and package:/foo.
R=asiva@google.com, floitsch@google.com

Committed: eb49613cbf

Review URL: https://codereview.chromium.org/1998603002 .
2016-06-14 12:22:15 +02:00
Lasse R.H. Nielsen a5aebce4b7 Revert "Make VM resolvePackageUri fail on package:foo and package:/foo."
There were some tests of the changed behavior.

R=whesse@google.com

Review URL: https://codereview.chromium.org/2068633002 .
2016-06-14 10:53:08 +02:00
Lasse R.H. Nielsen eb49613cbf Make VM resolvePackageUri fail on package:foo and package:/foo.
R=asiva@google.com, floitsch@google.com

Review URL: https://codereview.chromium.org/1998603002.
2016-06-14 09:38:51 +02:00
Zachary Anderson c40b0da258 Block another Platform.executable test for precompilation
Review URL: https://codereview.chromium.org/2060223003 .
2016-06-13 12:50:47 -07:00
Regis Crelier 962353674b Delete stray comment in tests.
R=hausner@google.com

Review URL: https://codereview.chromium.org/2067453003 .
2016-06-13 11:30:57 -07:00
Terry Lucas 0c947f8854 Skip a couple of Windows tests that are consistently timing out.
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/2064773002 .
2016-06-13 10:14:49 -07:00
Zachary Anderson 678cb048ed Adds blocking file locks.
Fixes #26665

R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2050413002 .
2016-06-13 07:58:09 -07:00
William Hesse f9a6371c53 Suppress failing analyzer test.
BUG=https://github.com/dart-lang/sdk/issues/26692
R=sgjesse@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2062803002 .
2016-06-13 15:19:30 +02:00
William Hesse 093672fe21 Queue standard test suites before co19
When running multiple test suites, queue the suites listed in
TEST_SUITE_DIRECTORIES before co19, vm tests, analyze_library, and
pkgbuild.

A re-upload of CL https://codereview.chromium.org/15565004/ from 2 years ago.

R=sgjesse@google.com
CC=kustermann@google.com

Review URL: https://codereview.chromium.org/2059153002 .
2016-06-13 13:37:34 +02:00
Florian Schneider c8f449e1a1 Update status for precompilation tests.
TBR=johnmccutchan@google.com,

BUG=

Review URL: https://codereview.chromium.org/2056393002 .
2016-06-10 11:07:07 -07:00
Regis Crelier e803457081 Silence analyzer choking on new test.
Review URL: https://codereview.chromium.org/2057943002 .
2016-06-09 19:46:57 -07:00
Regis Crelier f4029bf3ee Capture instantiator in async function when required to check result type.
Add regression test (fixes #26668).

Review URL: https://codereview.chromium.org/2057903003 .
2016-06-09 19:14:14 -07:00
Zachary Anderson 6e90ca4e0a DBC: Eager deoptimization and CheckSmi instruction.
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2039913006 .
2016-06-09 09:47:56 -07:00
William Hesse ee197d01fd Update status for test that passes on ARM.
This reverts commit 09b6d3cdc0, which
distinguished between the android ARM version, which passed, and the
linux ARM version, which didn't.  Both versions are now passing.

BUG=https://github.com/dart-lang/sdk/issues/24416
R=eernst@google.com, fschneider@google.com

Review URL: https://codereview.chromium.org/2050163003 .
2016-06-09 18:18:51 +02:00
Lasse R.H. Nielsen 419873dcd3 Add tests for resolving missing packages, relative and absolute URIs.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2051433002 .
2016-06-09 11:35:15 +02:00
Johnni Winther 286b21133b Compute and cache element NativeBehavior during resolution.
NativeBehavior for method calls and field load/store are now computed
during resolution and apply as part of the world impact. This prepares
for (full) serialization/deserialization of native elements.

R=het@google.com

Review URL: https://codereview.chromium.org/2045223002 .
2016-06-09 09:50:51 +02:00
Harry Terkelsen ddac2a8a76 Revert "check that Class and typedef refs are const"
This reverts commit 8a6a6377e7.

BUG=

Review URL: https://codereview.chromium.org/2049343002 .
2016-06-08 16:32:30 -07:00
Harry Terkelsen 8a6a6377e7 check that Class and typedef refs are const
Fixes #26580

R=sra@google.com

Review URL: https://codereview.chromium.org/2049553002 .
2016-06-08 16:02:55 -07:00
John McCutchan a66d2d0e49 Fix dart2js bot failure on new test (update status file)
BUG=

Review URL: https://codereview.chromium.org/2043193004 .
2016-06-08 07:45:08 -07:00
John McCutchan f040af9fff Really fix the analyzer bots
BUG=

Review URL: https://codereview.chromium.org/2043373002 .
2016-06-08 07:41:43 -07:00
John McCutchan 63233d7446 Update standalone.status for analyzer
BUG=

Review URL: https://codereview.chromium.org/2044003006 .
2016-06-08 07:24:51 -07:00
John McCutchan 3b2e14ab56 Fix deferred load errors
R=hausner@google.com

Review URL: https://codereview.chromium.org/2045023003 .
2016-06-08 07:12:52 -07:00
Erik Ernst c3dfe51295 Adds status entries for initializing_formal tests.
This CL should fix the problem that arose with commit
543a51ff3e. Here's the description from
that CL:

This CL adds tests for previously uncovered elements of the semantics
and includes fixes such that the desired behavior is obtained. In
particular, an `isInitializingFormal` element may now occur in contexts
where it wasn't expected until now, and changes were made to handle it.
It is also checked that a capture of an initializing formal (in a
function literal) captures the parameter, not the field.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2042293002 .
2016-06-08 10:50:33 +02:00
Harry Terkelsen 74abdfe09e typecheck erroneous members as dynamic
Fixes #26582

R=sra@google.com

Review URL: https://codereview.chromium.org/2046053002 .
2016-06-07 13:18:45 -07:00
Florian Schneider 9ee5dfb245 Fix speculative inlining in precompilation.
When optimistically inlining is-checks and as-casts, we have to guard
again repeated speculative attempts.

Also, add result cid information for recognized factories.

BUG=#26607
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2035073002 .
2016-06-06 16:37:39 -07:00
William Hesse 49dec47c97 Update status for failing vm precompilation test.
BUG=https://github.com/dart-lang/sdk/issues/26607
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2044613002 .
2016-06-06 13:15:33 -07:00
Erik Ernst 6d56db592b Revert "New tests for initializing formal access."
This reverts commit 543a51ff3e
because several status file updates are needed.

Review URL: https://codereview.chromium.org/2039243002 .
2016-06-06 16:07:03 +02:00
Erik Ernst 543a51ff3e New tests for initializing formal access.
This CL adds tests for previously uncovered elements of the semantics
and includes fixes such that the desired behavior is obtained. In
particular, an `isInitializingFormal` element may now occur in contexts
where it wasn't expected until now, and changes were made to handle it.
It is also checked that a capture of an initializing formal (in a
function literal) captures the parameter, not the field.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2039833002 .
2016-06-06 15:55:44 +02:00
Johnni Winther e97c1c673f Align semantics of getDefaultConstructor()
The modelx implementation of getDefaultConstructor() (surprisingly)
returned constructors with only optional arguments. This CL aligns the
modelz implementation with this, adding a TODO to figure out what the
best behavior is.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2033893004 .
2016-06-06 11:23:22 +02:00
Johnni Winther 153c36ce39 Don't crash when tree shaking is disabled
When tree shaking is disabled, type checking crashed on member lookup into serialized classes.
Also classes are now ensured to be resolved when computing lookup.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2031293002 .
2016-06-06 11:08:01 +02:00
Johnni Winther b11a92f2ed Handle use of fromEnvironment from serialized data.
This CL removes the [intEnvironment], [boolEnvironment] and [stringEnvironment]
from [Compiler] and instead determine .fromEnvironment directly from the
constructor element itself.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2033383002 .
2016-06-06 10:52:41 +02:00
Johnni Winther 0b926d64a4 Handle deferred access of unserialized code.
This CL fixes crashes in deferred_load when using serialized dart:core:
- resolution impacts are cached in [Resolution] for both serialized and unserialized elements.
- type variable constants (for mirrors) are computed using [ConstantExpression]s.
- LibraryElementZ.getImportsFor returns the empty list; thus still not valid for deferred access in serialized code.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2034973003 .
2016-06-06 10:26:37 +02:00
Lasse R.H. Nielsen c7e601c90d Revert "Add package-config tests where test is running in Isolate.spawn-isolates."
This reverts commit f3f6d1e00d.

Running a new process doesn't correctly pass empty command line parameters on Windows.

Committed: 151d1b6796

R=floitsch@google.com

Committed: 2d8e63e985

Review URL: https://codereview.chromium.org/2038033002.
2016-06-06 08:46:58 +02:00
Harry Terkelsen 417b36a942 mark newly failing html test in safari
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2034283002 .
2016-06-03 16:17:33 -07:00
Sigmund Cherem 99792d9a79 fix remaining windows issues
TBR=het@google.com

Review URL: https://codereview.chromium.org/2035113004 .
2016-06-03 15:55:35 -07:00
Sigmund Cherem 5e9f7a8882 Fix IE status
Review URL: https://codereview.chromium.org/2040593002 .
2016-06-03 14:49:05 -07:00
Harry Terkelsen c59d264131 fix dart2js-mac10.11-safari tests
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2038173002 .
2016-06-03 14:29:02 -07:00
Harry Terkelsen 1fa0ccf869 fix tests for dart2js-mac10.11-chrome-be
BUG=

Review URL: https://codereview.chromium.org/2038153002 .
2016-06-03 13:57:58 -07:00
Sigmund Cherem 63a8582514 Fix again linux#3: it was passing in jsshell, moved the entry to the chrome section.
TBR=het@google.com

Review URL: https://codereview.chromium.org/2034003003 .
2016-06-03 13:44:24 -07:00
Sigmund Cherem 6740e339c6 Fix co19 status file for dart2js-linux-chromeff-4-4-be
R=het@google.com

Review URL: https://codereview.chromium.org/2031313003 .
2016-06-03 13:26:34 -07:00
Sigmund Cherem bc0fe505b9 fix status of co19 for dart2js-linux-chromeff-3-4-be
R=het@google.com

Review URL: https://codereview.chromium.org/2038923002 .
2016-06-03 13:03:44 -07:00
Harry Terkelsen 31895ea4e1 triage more dart2js-linux tests
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2033893005 .
2016-06-03 10:43:39 -07:00
Lasse R.H. Nielsen 2d8e63e985 Revert "Add package-config tests where test is running in Isolate.spawn-isolates."
This reverts commit f3f6d1e00d.

Running a new process doesn't correctly pass empty command line parameters on Windows.

Committed: 151d1b6796

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2038033002.
2016-06-03 17:12:17 +02:00
Lasse R.H. Nielsen 0bd6b7e924 Add package-config tests where test is running in Isolate.spawn-isolates.
R=floitsch@google.com

Committed: f3f6d1e00d

Committed: eda2a81c0c

Review URL: https://codereview.chromium.org/2020653002.
2016-06-03 16:48:21 +02:00
Lasse R.H. Nielsen eda2a81c0c Add package-config tests where test is running in Isolate.spawn-isolates.
R=floitsch@google.com

Committed: f3f6d1e00d

Review URL: https://codereview.chromium.org/2020653002.
2016-06-03 16:35:27 +02:00
Lasse R.H. Nielsen 151d1b6796 Revert "Add package-config tests where test is running in Isolate.spawn-isolates."
This reverts commit f3f6d1e00d.

Running a new process doesn't correctly pass empty command line parameters on Windows.

Review URL: https://codereview.chromium.org/2038033002 .
2016-06-03 15:34:52 +02:00
Lasse R.H. Nielsen f3f6d1e00d Add package-config tests where test is running in Isolate.spawn-isolates.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2020653002 .
2016-06-03 13:53:50 +02:00
Todd Turnidge a7d46eb5a6 Canonicalize uris in C++ instead of Dart for the standalone embedder.
Adds Dart_DefaultCanonicalizeUrl() to the dart embedding api.

Motivation:

As we try to get source reloading working for the standalone embedder, things get simpler if an isolate doesn't run Dart code while it is loading Dart code.  We intend to solve this by moving the embedder tag handler calls to the service isolate.  But making a blocking rpc into the service isolate whenever a url needs to be canonicalized during parsing seems like it would slow things down and make things complicated.  By moving canonicalization into C++, we avoid this.

R=ahe@google.com, fschneider@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2011543002 .
2016-06-02 12:29:57 -07:00
Paul Berry f5a9c029b7 Update status file for issue #26592
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2027393002 .
2016-06-02 12:19:09 -07:00
Matthias Hausner 1859ce46c3 Fix finally clause inlining for forward jumps
In switch statements, ‘continue L’ jumps can refer to a label
that the compiler hasn’t seen yet. The label is tentatively
to be in the innermost switch statement, but may later
be moved to an outer switch statement. The compiler must
make sure that the correct finally blocks are inlined in front
of these jumps.

BUG=26577, 25310
R=regis@google.com

Review URL: https://codereview.chromium.org/2030763002 .
2016-06-02 09:03:49 -07:00
Johnni Winther bb9fab0065 Fix code-size regression
This reinserts the native spec-string interpretation.

The CL https://codereview.chromium.org/2004833003/ changed the interpretation of `List` from `List<E>` to `List<dynamic>` causing these native classes to be added through subtyping:

NativeUint8List <: List
NativeUint8ClampedList <: List
NativeUint32List <: List
NativeUint16List <: List
NativeInt8List <: List
NativeInt32List <: List
NativeInt16List <: List
NativeFloat64List <: List
NativeFloat32List <: List
NativeTypedArrayOfInt <: List
NativeTypedArrayOfDouble <: List

R=sra@google.com

Committed: 565b30123c

Reverted: fa5b98126c

Review URL: https://codereview.chromium.org/2021723003 .
2016-06-02 13:56:51 +02:00
Erik Ernst c59d37032e Added missing status entries.
A fix for c35caf253e and
https://codereview.chromium.org/2029003002.

Review URL: https://codereview.chromium.org/2029343003 .
2016-06-02 12:37:47 +02:00
Johnni Winther fa5b98126c Revert "Fix code-size regression"
This reverts commit 565b30123c.

BUG=

Review URL: https://codereview.chromium.org/2037593002 .
2016-06-02 11:41:44 +02:00
Erik Ernst c35caf253e Introduces "--initializing-formal-access".
This CL is an adjusted version of CL 2025853002, adding updates to
`InitializingFormalElementZ` to match the updates applied to
`InitializingFormalElementX`, and adding the new option to the
`MessageKind.DUPLICATE_DEFINITION` example.

Description from 2025853002:

This CL adjusts the treatment of initializing formals, such that they
can be used in initializers and in constructor bodies. E.g., `x` can be
used as in `C(this.x) : y = x { var z = x + 2; }`.

It hides the new feature under the option '--initializing-formal-access'
which is used in the test 'initializing_formal_access_test.dart'.

It also adds an `example` test to `MessageKind.DUPLICATE_DEFINITION` to
verify that name clashes among initializing formals and other
parameters are detected (which was previously not the case).

Finally, it fixes a typo in a comment, `InitializingFormalParameter` ->
`InitializingFormalElement`.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2029003002 .
2016-06-02 11:09:56 +02:00
Johnni Winther 7499d74f4b Compute and check members for serialization
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2015903002 .
2016-06-02 11:00:13 +02:00
Johnni Winther ac1bc765d9 Support references to unserialized libraries.
This adds initial support for combining serialized and unserialized libraries
even in the case where the serialized library refers to the unserialized library.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2024783003 .
2016-06-02 10:39:29 +02:00
Johnni Winther 5916ee557f Improve equivalence testing of unnamed mixin applications.
The equivalence of unnamed mixin applications cannot be tested directly since
they are not nominal entities. In the example below two classes by the synthetic
name `S+M` are introduces. This CL adds a reference to the introducing class so
that the unnamed mixin applications can be distinguished as `S+M from C1` and
`S+M from C2`.

class S {}
class M {}
class C1 extends S with M {}
class C2 extends S with M {}

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2017903002 .
2016-06-02 10:26:26 +02:00
Johnni Winther 565b30123c Fix code-size regression
This reinserts the native spec-string interpretation.

The CL https://codereview.chromium.org/2004833003/ changed the interpretation of `List` from `List<E>` to `List<dynamic>` causing these native classes to be added through subtyping:

NativeUint8List <: List
NativeUint8ClampedList <: List
NativeUint32List <: List
NativeUint16List <: List
NativeInt8List <: List
NativeInt32List <: List
NativeInt16List <: List
NativeFloat64List <: List
NativeFloat32List <: List
NativeTypedArrayOfInt <: List
NativeTypedArrayOfDouble <: List

R=sra@google.com

Review URL: https://codereview.chromium.org/2021723003 .
2016-06-02 10:16:44 +02:00
Harry Terkelsen add59a9607 mark now-passing tests in the dart2js-linux bots
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2036553003 .
2016-06-01 17:38:22 -07:00
Harry Terkelsen 2b534b70bb triage failing dart2js-jsshell tests
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2026393003 .
2016-06-01 15:46:01 -07:00
Florian Loitsch e1bf3506d1 Make linked-list non-circular.
This bug was introduced when making the collection library strong-mode clean.

Fixes #26522
BUG= http://dartbug.com/26522
R=lrn@google.com

Review URL: https://codereview.chromium.org/2015513006 .
2016-06-01 14:19:37 +02:00
William Hesse 915d9b2db2 Update dartium status on Windows for co19 roll
TBR=sgjesse@google.com
R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org/2024103006 .
2016-06-01 09:11:04 +02:00
William Hesse 7c76d4d3c9 Update status for dartium tests after co19 roll
BUG=
TBR=sgjesse@google.com
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2029503002 .
2016-06-01 08:13:23 +02:00
Harry Terkelsen c5d7d27ed5 fix status file for d8-checked build bot
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2024293002 .
2016-05-31 16:21:26 -07:00
Sigmund Cherem d1d46593d5 Make test.dart override only those dependencies declared in the pubspec.yaml
file (attempt #2).

Differences from before:
 - pull in transitive dependencies that were missing
 - pass on the package-root in standalone/io/test_runner_test

BUG= http://dartbug.com/26563
R=whesse@google.com

Review URL: https://codereview.chromium.org/2019163002 .
2016-05-31 15:48:54 -07:00
Paul Berry 858407ebf0 Fix analyzer bot flakiness (correctly this time).
In f54e667773 I attempted to work around
analyzer flakiness in
co19/Language/Libraries_and_Scripts/Scripts/syntax_t11, but I
accidentally applied the change to
Language/Mixins/Mixin_Application/syntax_t11 instead.

This CL applies the workaround to the correct instance of syntax_t11.

TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2022343002 .
2016-05-31 15:29:53 -07:00
Harry Terkelsen 7b2edf83df mark more tests as missing compile-time errors
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2027593004 .
2016-05-31 12:22:30 -07:00
Harry Terkelsen e9d41ebc23 declare that dart2js fails some 'yield*' tests
These tests assert that 'yield*' expressions in non-generator functions
should be a compile-time error. But the spec does not have yield as a
reserved word, so a statement like 'yield* e;' can be interpreted as an
expression statement multiplying the variable 'yield' by e. This is how
dart2js and the VM interpret yield outside of generator functions.

See the discussion in issue #25495

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2024203002 .
2016-05-31 11:10:23 -07:00
Konstantin Shcheglov 3d70bc399e Rollback checking bounds of type parameters of function type aliases.
The line:

List<DartType> parameterTypes = element.type.typeArguments;

returns an empty list for typedefs.

For now I want to unblock Keerti.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2027723002 .
2016-05-31 10:51:23 -07:00
Paul Berry f54e667773 Co19 fixes for analyzer and runtime.
The runtime fix is from whesse@google.com.

R=whesse@google.com

Review URL: https://codereview.chromium.org/2023763008 .
2016-05-31 10:45:20 -07:00
Regis Crelier 070bb612b3 Reference newly filed issue instead of unrelated closed issue.
R=hausner@google.com

Review URL: https://codereview.chromium.org/2028703002 .
2016-05-31 10:07:57 -07:00
Erik Ernst 5b72755837 Revert "Introduces "--initializing-formal-access"."
This reverts commit b80a73775c
because introduced new failures in co19 tests.

Review URL: https://codereview.chromium.org/2021133003 .
2016-05-31 18:03:14 +02:00
Erik Ernst b80a73775c Introduces "--initializing-formal-access".
This CL adjusts the treatment of initializing formals, such that they
can be used in initializers and in constructor bodies. E.g., `x` can be
used as in `C(this.x) : y = x { var z = x + 2; }`.

It hides the new feature under the option '--initializing-formal-access'
which is used in the test 'initializing_formal_access_test.dart'.

It also adds an `example` test to `MessageKind.DUPLICATE_DEFINITION` to
verify that name clashes among initializing formals and other
parameters are detected (which was previously not the case).

Finally, it fixes a typo in a comment, `InitializingFormalParameter` ->
`InitializingFormalElement`.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2025853002 .
2016-05-31 15:39:02 +02:00
William Hesse 0d77bd044c Update status for failing asan and precompilation vm co19 tests
TBR=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org/2024803002 .
2016-05-31 08:40:45 +02:00
William Hesse 10dff4ea45 Update status for co19 tests that now pass on dart2js
TBR=sgjesse@google.com
R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org/2024743002 .
2016-05-31 03:36:15 +02:00
William Hesse 65949097f4 Update VM status for co19 test roll
BUG=https://github.com/dart-lang/sdk/issues/26573
TBR=sgjesse@google.com

Review URL: https://codereview.chromium.org/2021153002 .
2016-05-31 01:57:33 +02:00
William Hesse 41ece1a95a Reland the roll of co19 tests
This reverts commit 020be8eca6,
updating the version of the co19 test suites to their version
3f0a4bc9a080a792cdf5f093147a900f99ea301f from May 17, 2016.

TBR=sgjesse@google.com
BUG=https://github.com/dart-lang/sdk/pull/26294

Review URL: https://codereview.chromium.org/2023953002 .
2016-05-30 22:11:30 +02:00
Florian Schneider e5597652f8 Fix status for Android ARM.
That test is passing on precompiled ARM/Android.

TBR=rmacnak@google.com,

BUG=

Review URL: https://codereview.chromium.org/2023843002 .
2016-05-30 11:35:29 +02:00
Harry Terkelsen df8d991188 mark webgl test failures on windows
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2011413002 .
2016-05-27 14:07:05 -07:00
Matthias Hausner 7daa2a8915 Fix capturing variables in optimized compilations
Fourth(!) attempt. This CL fixes another instance where parsing a nested function modifies the parser state of the function that is being compiled.

When a local function gets compiled the second time, constant
expressions may not be parsed again, since the constant value
is found in the cache. If the expression refers to an outer
variable, it does not get captured correctly.

Fix: instead of parsing a local function repeatedly to capture
outer variables, use the local function’s context scope to mark
outer variables as captured. This fixes the bug, and makes the
compiler more efficient as well.

BUG= 26453
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2010283004 .
2016-05-27 11:27:10 -07:00
Harry Terkelsen ca0bedc301 remove now-passing tests from list of failures
Fixes #26557

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2015273002 .
2016-05-27 10:26:45 -07:00
Florian Schneider aa05691c77 status update: process_sync_test still timing out on Windows
TBR=zra@google.com,

BUG=#24596

Review URL: https://codereview.chromium.org/2018033002 .
2016-05-27 18:53:28 +02:00
Lasse R.H. Nielsen 7009677096 Also add comments requested by review, and some more.
Also exclude more environments from running the test, restricting it to *only* the stand-alone VM and the analyzer.

Review URL: https://codereview.chromium.org/2015193002 .
2016-05-27 13:07:40 +02:00
Florian Schneider 05660b8f25 Skip new test that uses Platform.executable under precompilation
TBR=lrn@google.com,

BUG=

Review URL: https://codereview.chromium.org/2016313002 .
2016-05-27 12:30:23 +02:00
Johnni Winther 91616103aa Use correct type on evaluated literal symbols.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2018523002 .
2016-05-27 11:05:00 +02:00
Johnni Winther d78290a5b2 Compute import paths using ImportElement and ExportElement
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2005293003 .
2016-05-27 10:58:52 +02:00
Johnni Winther e25e6206d8 Fix analyze_dart2js_helpers_test
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2006333004 .
2016-05-27 10:45:38 +02:00
Johnni Winther 6cd484ddb5 Correctly skip if-null expressions.
Closes #26543

R=eernst@google.com

Review URL: https://codereview.chromium.org/2016693002 .
2016-05-27 10:44:47 +02:00
Johnni Winther dd4368e217 Fix several element properties in serialization.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2012163003 .
2016-05-27 10:37:36 +02:00
Lasse R.H. Nielsen dead4294ae Fix analyzer warnings in packages_file_test.dart.
Review URL: https://codereview.chromium.org/2013353003 .
2016-05-27 10:11:45 +02:00
Lasse R.H. Nielsen 39df5d56b2 Add test of some package-config configurations.
More to come.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/1993643002 .
2016-05-27 09:19:16 +02:00
Florian Schneider 62f64eb312 Fix checked mode error in socket_bind_test.
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2007133007 .
2016-05-26 20:14:51 +02:00
Florian Schneider b1ce8afde5 Fix a flaky failure in socket_bind_test.
Make the test more robust against the case where it use a IPv4 socket address
is already in use with IPv6 or vice versa by first finding a port that is free
for both.

BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2014893002 .
2016-05-26 19:38:32 +02:00
Ryan Macnak ef8baa8760 Add test harness option for app snapshots with unoptimized code.
./tools/test.py -m all -c dart2appjit -r dart_app --use-blobs

Rename 'dart_product' runtime to 'dart_app'.

Rename Dart_PrecompiledJITSnapshotBlob to Dart_CreateAppJITSnapshot and add documentation.

Remove out-of-date scripts in tools/precompilation.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1992703005 .
2016-05-26 10:37:47 -07:00