Commit Graph

1846 Commits

Author SHA1 Message Date
Harry Terkelsen 44cd029db8 update status files now that trailing commas are implemented
BUG=

Review URL: https://codereview.chromium.org/2133243002 .
2016-07-08 10:42:41 -07:00
Harry Terkelsen 10691da9f8 dart2js: allow trailing commas in parameter and argument lists
Fixes https://github.com/dart-lang/sdk/issues/26646

R=johnniwinther@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/2068003002 .
2016-07-08 10:03:51 -07:00
Lasse R.H. Nielsen 3459d41472 Allow VM precompiled to pass trailing-comma test.
R=whesse@google.com

Review URL: https://codereview.chromium.org/2117293002.
2016-07-05 11:24:51 +02:00
William Hesse 020b6db84e Update statuses for failing tests
BUG=https://github.com/dart-lang/pub/issues/1429
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2125563002 .
2016-07-05 10:58:08 +02:00
Florian Loitsch 951bb7750b Update test and status file.
Review URL: https://codereview.chromium.org/2120383002 .
2016-07-04 23:12:00 +02:00
Lasse R.H. Nielsen 6a4af257cc Allow trailing comma in parameter and argument lists.
R=hausner@google.com

Review URL: https://codereview.chromium.org/1991043004 .
2016-07-04 12:51:07 +02:00
Ryan Macnak eb20b68e87 Add --hot-reload to the test harness.
./tools/build.py -mdebug,release runtime
./tools/test.py -mdebug,release --checked --hot-reload

BUG=http://dartbug.com/26809
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2114083002 .
2016-07-01 11:28:00 -07: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
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
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
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
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
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
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
Erik Ernst af79c19a53 Revision of "Adjusts dart2js backend to handle method type arguments"
Adjusted version of CL https://codereview.chromium.org/1976213002/,
only changed by adding entries in status files for the test
'tests/language/generic_methods_type_expression_test.dart'.

Review URL: https://codereview.chromium.org/2001393003 .
2016-05-24 11:12:02 +02:00
Erik Ernst 912bcc8418 Revert "Adjusts dart2js backend to handle method type arguments."
This reverts commit 04e45eb634.

BUG=

Review URL: https://codereview.chromium.org/2000223002 .
2016-05-23 18:35:53 +02:00
Erik Ernst 04e45eb634 Adjusts dart2js backend to handle method type arguments.
This CL has the same purpose as 1969753002, stated in the title line,
but it works for checked mode execution (where 1969753002 was broken),
and for usage of method type arguments in additional situations.

Approach: `DartType` and subtypes have been extended with new methods
to erase `MethodTypeVariableType` to `DynamicType`. This is done early
(after resolution, before SsaBuilder), such that only few parts of the
compiler need to deal with anything new. This approach handles method
type variables in checked mode, in `new` expressions, and in function
typed parameters. Finally, tests are added for the new cases, and
status files updated.

UPDATE: See message #10 and #12 for an updated description of the approach.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1976213002 .
2016-05-23 17:17:29 +02:00
Ryan Macnak 7d3cd143f7 Update status for
./tools/test.py -mall
  ./tools/test.py -mdebug,release --checked
  ./tools/test.py -mrelease,product -cdart2app -rdart_product
  ./tools/test.py -mrelease --checked -cdart2app -rdart_product

Missing
  ./tools/test.py -mdebug -cdart2app -rdart_product
  ./tools/test.py -mdebug --checked -cdart2app -rdart_product

R=asiva@google.com

Review URL: https://codereview.chromium.org/1991543002 .
2016-05-18 12:54:34 -07:00
Erik Ernst 7da48f3a95 Adds DartOptions to generic method syntax tests (updated CL).
This CL was landed and reverted. The bot failures caused by the first
landing of this CL turned out to be caused by checked mode execution.
This is an adjustment of that CL which marks the relevant tests as
failing. The underlying issue is that the compiler phases after
resolution do not expect to receive method type variables, only class
type variables; that will be addressed in a separate CL.

R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org/1963703003 .
2016-05-11 09:46:32 +02:00
Erik Ernst a9d90f4a09 Revert "Adds DartOptions to generic method syntax tests."
This reverts commit ae31db041d,
which seemed to cause failures on dart2js-d8-minified.

BUG=

Review URL: https://codereview.chromium.org/1960193002 .
2016-05-09 18:06:34 +02:00
Erik Ernst ae31db041d Adds DartOptions to generic method syntax tests.
This CL adds a `DartOptions` comment to the '--generic-method-syntax'
related tests specifying that option, and changes the entries for these
tests in status files to expect success for dart2js except when running
in a browser (where the option gets dropped rather than passed on to
the compiler).

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1962633002 .
2016-05-09 17:15:33 +02:00
Erik Ernst d55adbed81 Add unit test on dart2js static analysis of method type parameters.
The new test is specifically for `dart2js --generic-method-syntax ..`,
executed programmatically using 'memory_compiler.dart'.
It verifies that each method type variable is treated as if it had
been an alias for `dynamic` (so the static analysis allows almost
all usages of these type variables, silently). Note that this behavior
is unlikely to be available with any other tools, and even `dart2js`
will behave differently when generic methods are implemented fully.
Hence, the new test will only be useful as-is during a transitional
period.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1939053002 .
2016-05-04 15:21:17 +02:00
Florian Schneider 174121435a Fix handling of negative exit codes in test.dart on Android.
BUG=dartbug.com/26375
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1940213003 .
2016-05-03 16:47:22 +02:00
Florian Schneider b349c2cbd6 Temporarily update test status for Android
BUG=
R=kustermann@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1924833003 .
2016-05-02 11:19:43 +02:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Erik Ernst 377b806bbc Adds support for remaining generic method syntax constructs.
CL https://codereview.chromium.org/1863053003/ added support for most
syntactic constructs in relation to generic methods/functions, and
this one adds the missing ones: Declarations of function typed arguments
with type parameters, declarations of generic local functions, and
declarations of generic literal function expressions. It also adds
support for `super` bounds, because they were discussed recently and
may be quite useful (and it turns out to be no problem to parse them).
Finally, a new test file is added to tests the additional constructs.

BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1878253002 .
2016-04-14 15:25:44 +02:00
Terry Lucas f247fecb14 Updated status files to make Dartium bots green.
TBR=jacobr@google.com

Review URL: https://codereview.chromium.org/1880353003 .
2016-04-13 07:32:14 -07:00
William Hesse daeb7cc3bb Replace broken language/async_star_await_pauses_test
BUG=https://github.com/dart-lang/sdk/issues/23996
R=ahe@google.com, hausner@google.com

Review URL: https://codereview.chromium.org/1869583003 .
2016-04-08 14:21:10 +02:00
William Hesse 0bad11c4e7 Remove multitests from language/async_await_test. Skip on linux x64 dartium
BUG=https://github.com/dart-lang/sdk/issues/26198
BUG=https://github.com/dart-lang/sdk/issues/22695
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1864973003 .
2016-04-07 10:26:13 +02:00
Ryan Macnak 3bd5a3317f Update status for noopt and precomp.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1826553002 .
2016-03-22 14:30:25 -07:00
Siva Annamalai 8364da0e1b Adjust status files for product mode to skip tests that require checked mode as we do not support the flags --enable_asserts and --enable_type_checks in product mode.
tools/test.py -mproduct -cdart2app -rdart_product

should run clean after this CL

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1817623003 .
2016-03-21 11:09:38 -07:00
Terry Lucas c59f43a42d Correctly mark generic failures as RuntimeError for Dartium
TBR=alanknight@google.com,leafp@google.com

Review URL: https://codereview.chromium.org/1795123005 .
2016-03-13 18:51:54 -07:00
Erik Ernst 4dd22a87bb Adds tests for syntactic support for generic methods.
This CL adds tests for syntactic support for declaration of type
parameters on methods and named functions, and for passing actual type
parameters in invocations.

The status files declare all the tests to be `CompiletimeError`s
(there is no support for `// AnalyzerOptions=`, so no `--options=..`
can be passed to `dartanalyzer`, even though it does succeed with
`--options=tests/language/X.options` where `X` is the name of the
test).

BUG=
R=brianwilkerson@google.com, leafp@google.com, regis@google.com

Review URL: https://codereview.chromium.org/1779173003 .
2016-03-11 10:27:37 +01:00
Ryan Macnak c6d3ff0098 More MIPS status cleanup.
R=regis@google.com

Review URL: https://codereview.chromium.org/1774693002 .
2016-03-07 16:37:48 -08:00
Ryan Macnak 167616b83e Skip mirror tests more generally for $mode == product instead of $runtime == dart_product.
Reduces failures in tools/test.py -mproduct.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1760043002 .
2016-03-03 10:06:59 -08:00
Matthias Hausner 5a0a097188 Fix issues in name resolution
Looking up a name x in the library scope or in a prefix can also return
the setter name x=. There were several situations that were not handled
right.

- a getter x and a setter x= should not result in a duplicate name
  error (and thus a resolution error at runtime).

- when looking for an untangled name x but a setter x= is found first,
  keep looking for x.

BUG=25625
R=regis@google.com

Review URL: https://codereview.chromium.org/1752203002 .
2016-03-02 10:44:28 -08:00
Ryan Macnak 7adcf94b75 Adjust expectations of library_env_test to take into account noopt, precompiled and product mode.
R=iposva@google.com

Review URL: https://codereview.chromium.org/1748153003 .
2016-02-29 17:11:07 -08:00
Ryan Macnak ad01f0fb41 Don't expand inline frames in stacktraces under noopt to match full precompiled behavior.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1748793002 .
2016-02-29 13:28:09 -08:00
Florian Loitsch 55630a5e90 Support 'dart.library.X' env variables in the VM.
BUG= http://dartbug.com/24587
R=iposva@google.com, johnmccutchan@google.com

Committed: https://github.com/dart-lang/sdk/commit/c2a06e22cb83f491fd3accc33d7738c87490c26d
Reverted: https://github.com/dart-lang/sdk/commit/5eb5b429895987519a00daa81b5ab261debbca3f

Review URL: https://codereview.chromium.org/1640853004 .
2016-02-29 20:58:32 +01:00
Siva Annamalai 5c53e14d55 - Skip tests which use dart:mirrors in product mode
Review URL: https://codereview.chromium.org/1728663002 .
2016-02-24 18:13:20 -08:00
Ryan Macnak f3fda729cc Skip more resource-hogging tests on arm64.
R=zra@google.com

Review URL: https://codereview.chromium.org/1726123002 .
2016-02-24 12:56:31 -08:00
Ryan Macnak 0b9d63b04e Update noopt status.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1729793002 .
2016-02-23 15:59:28 -08:00
William Hesse 270ad3f552 Remove ContentShellOnAndroid from status files
Dartium and content_shell are no longer built or tested on Android.
A separate issue is filed to remove support from the test scripts:
https://github.com/dart-lang/sdk/issues/25832

BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1720813002 .
2016-02-22 10:20:22 +01:00
Ivan Posva c822c34af6 - Add DEBUG_ONLY and NOT_IN_PRODUCT macros.
- Remove user_name_ field from RawClass using macros.
- Consolidate "#ifndef PRODUCT" and "#ifdef DEBUG" code using macros.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1715123003 .
2016-02-19 17:48:08 -08:00
Siva Annamalai 64a5845d19 Fix status files to account for dart_product runtime.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1688423002 .
2016-02-17 12:22:35 -08:00
Regis Crelier fb2dab5f43 Resolve correct noSuchMethod (fixes #25671, #25737).
R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1684913002 .
2016-02-09 16:08:09 -08:00
Siva Annamalai 8f8b4e0fce Skip issue_25671[a|b]_test
Review URL: https://codereview.chromium.org/1687523002 .
2016-02-09 10:40:58 -08:00
Johnni Winther 059f44aa3b Fix super noSuchMethod handling.
Closes #25680

- This CL fixes the handling of inapplicable noSuchMethod methods on superclasses (see issue 25671) for both SSA and CPS.
- The CPS implementation for normal noSuchMethod calls on super was wrong is fixed with this CL, including the addition the missing visitUnresolvedSuperSet method  on the SemanticSendVisitor.
- An error (presumably in type inference) affecting SSA was found with the added tests (Issue 25716 filed)

R=asgerf@google.com, het@google.com

Committed: https://github.com/dart-lang/sdk/commit/756d95a372b5123193644f07b65b93c106a92078

Reverted: https://github.com/dart-lang/sdk/commit/a0d7b64fdefbd5e05b9ce7e80d7883f61a99102e

Review URL: https://codereview.chromium.org/1678053002.
2016-02-09 15:19:19 +01:00