Commit Graph

1636 Commits

Author SHA1 Message Date
John McCutchan d62e41fcea Use old assertion text script in precompiled mode
BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2466533003 .
2016-10-31 09:13:55 -07:00
Florian Schneider a74262c0e9 Enable now-passing tests for Android precompilation
Remove other obsolete entries.

Fixes #26373.
Fixes #27378.

R=rmacnak@google.com, whesse@google.com

Review URL: https://codereview.chromium.org/2431163007 .
2016-10-21 12:16:47 -07:00
Erik Ernst b5d2b38aa3 Relaxes treatment of method type parameter in as expressions.
This CL changes the semantics of `dart2js --generic-method-syntax`
generated code for `e as T` where `T` is a method type parameter.

The old behavior was to raise a `TypeError` at runtime when such an
expression was evaluated. The new behavior is to consider `T` as an
alias for `dynamic`, i.e., `e as T` will then always succeed.

Addresses part of issue 27460, omits a part that is not yet agreed upon.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2388843002 .
2016-10-18 11:11:44 +02:00
Florian Schneider 1ebde18da6 Fix and dedup entries in language.status.
Correct mistakes from my previous CL and simplifications.

TBR=rmacnak@google.com,
BUG=

Review URL: https://codereview.chromium.org/2412323004 .
2016-10-13 14:49:27 -07:00
Florian Schneider 701b91eb31 VM: Save one bool when serializing library prefixes.
When loading a snapshot all library prefixes should be considered not
loaded. This makes code running from a JIT snapshot throw the correct
error when using a deferred prefix before it is loaded.

Also, update test status and avoid skipping tests.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2416963003 .
2016-10-13 13:36:19 -07:00
Florian Schneider d9b1bc93af Fix product mode noSuchMethod with library prefix.
Update analyzer status of test that has a static warning expected.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2413033003 .
2016-10-12 19:10:27 -07:00
Florian Schneider a292de544f DBC: Support large offsets in optimized field access.
Added two new bytecodes: LoadFieldExt, StoreFieldExt that
store the field offset in the following nop-instruction that
is skipped.  This allows offsets up to 16 bit.

BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2399333003 .
2016-10-07 14:03:34 -07:00
Ryan Macnak 46bd89847b Mark language/number_identity_test as passing with app jit snapshots.
Review URL: https://codereview.chromium.org/2406543002 .
2016-10-07 11:19:25 -07:00
Ryan Macnak 1cba150307 Fix bad canonicalization for strings whose utf32->utf16 conversion is lossy.
Changes String::Equals(utf32) from string.AsUtf32().Equals(utf32) to string.Equals(utf32.AsUtf16()).

Fixes #27433.

R=hausner@google.com

Review URL: https://codereview.chromium.org/2400523003 .
2016-10-06 16:16:51 -07:00
Konstantin Shcheglov 26cc95d8b4 Issue 27515. Report DUPLICATE_PART when the same library contains two part directives with the same URI.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/27515

Review URL: https://codereview.chromium.org/2401463004 .
2016-10-06 11:28:05 -07:00
Erik Ernst 2a08f36ff8 Updating status file to fix issue with 1c7e4d8.
Review URL: https://codereview.chromium.org/2394863002 .
2016-10-05 16:46:13 +02:00
Matthias Hausner 43e338d437 Treat generic method parameters as dynamic in all contexts in the VM (fixes #27460)
Review URL: https://codereview.chromium.org/2383993002 .
2016-10-03 09:11:34 -07:00
Siva Annamalai bb02e814dc Skip string_literals_test (see Issue 27433)
BUG=

Review URL: https://codereview.chromium.org/2377563002 .
2016-09-26 21:03:27 -07:00
Lasse R.H. Nielsen caf208a543 Make StreamIterator not delay pausing between requests.
The current implementation of StreamIterator has a one-element buffer which
allows it listen for the next even eagerly, and only pause if consumption
doesn't keep up with production.
However, StreamIterator is also used by both VM and dart2js implementations
of "await for", and according to the specification, the iterated stream
must be paused between loop iterations.

The CL removes the one-element buffer and forces a pause after each event.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2149893002 .
2016-09-26 09:35:46 +02:00
Regis Crelier 11562f6874 Support generic method syntax (fixes #25869).
Function type parameters are parsed and resolved, but mapped to malformed types
(i.e. dynamic) until full support is implemented.

R=hausner@google.com

Review URL: https://codereview.chromium.org/2349593003 .
2016-09-19 15:17:33 -07:00
Terry Lucas 79f406443d Update status for expected failures in Dartium.
TBR=whesse@google.com

Review URL: https://codereview.chromium.org/2341653005 .
2016-09-15 09:38:55 -07:00
Matthias Hausner 3e60d48842 Fix parsing of generic closure formal parameter
BUG=#27299
R=regis@google.com

Review URL: https://codereview.chromium.org/2341493002 .
2016-09-13 15:11:10 -07:00
Regis Crelier 4634faa574 Add new language test for generic function parameter (filed issue #27299).
R=hausner@google.com

Review URL: https://codereview.chromium.org/2333973002 .
2016-09-13 09:24:57 -07:00
Lasse R.H. Nielsen 64e863a5cf Mark new tests using deferred imports as crashing with hot reload.
Review URL: https://codereview.chromium.org/2335933004 .
2016-09-13 11:41:43 +02:00
Lasse R.H. Nielsen 99439a336a See: https://docs.google.com/document/d/1iEuLbDMgbB657R5aFj9EfnT6B0obzQk93Of7CfWKc00/edit#heading=h.9ixvz54wwawi
Implement assert in initializer list in VM.

R=hausner@google.com

Review URL: https://codereview.chromium.org/2002923002 .
2016-08-24 12:43:26 +02:00
Matthias Hausner 4d4ebafad3 Implement parsing support for generic functions
Take two. (This version adds status file entries for checked
tests.)

Type parameters and arguments are parsed but ignored. Proper
handling of the parameters will be added subsequently.

The feature must be enabled with --generic-method-syntax.

Compiling all of dart2js consumes about 2.2% more tokens with
this change, due to the necessary lookahead to distinguish
generic functions from generic types.

===== with this change =========

Number of tokens:        1056691
Source length:           5850143 characters
Number of source tokens: 936226

Total tokens consumed:   3628934  <<<<<
Classes parsed:          2457
  Tokens consumed:       977999
Functions parsed:        49607
  Tokens consumed:       2430638

===== without this change ======

Number of tokens:        1056691
Source length:           5850143 characters
Number of source tokens: 936226

Total tokens consumed:   3547765 <<<<<
Classes parsed:          2457
  Tokens consumed:       942536
Functions parsed:        49607
  Tokens consumed:       2371357

(This reverts commit a1edb1766fd16b1268f3506feb7c9856b32bedfc.)

BUG= 25869

Review URL: https://codereview.chromium.org/2269693002 .
2016-08-22 10:58:55 -07:00
Matthias Hausner a1edb1766f Revert "Implement parsing support for generic functions"
This reverts commit 19af852471.

Checked tests failed. Will work on this on Monday.

TBR=asiva

Review URL: https://codereview.chromium.org/2267473002 .
2016-08-19 16:40:03 -07:00
Matthias Hausner 19af852471 Implement parsing support for generic functions
Type parameters and arguments are parsed but ignored. Proper
handling of the parameters will be added subsequently.

The feature must be enabled with --generic-method-syntax.

Compiling all of dart2js consumes about 2.2% more tokens with
this change, due to the necessary lookahead to distinguish
generic functions from generic types.

===== with this change =========

Number of tokens:        1056691
Source length:           5850143 characters
Number of source tokens: 936226

Total tokens consumed:   3628934  <<<<<
Classes parsed:          2457
  Tokens consumed:       977999
Functions parsed:        49607
  Tokens consumed:       2430638

===== without this change ======

Number of tokens:        1056691
Source length:           5850143 characters
Number of source tokens: 936226

Total tokens consumed:   3547765 <<<<<
Classes parsed:          2457
  Tokens consumed:       942536
Functions parsed:        49607
  Tokens consumed:       2371357

BUG=25869
R=asiva@google.com

Review URL: https://codereview.chromium.org/2260693002 .
2016-08-19 16:21:00 -07:00
Terry Lucas fa5741f325 Updated to reverted WebKit CL and updated status files to only skip the failing tests.
TBR=hausner@google.com

Review URL: https://codereview.chromium.org/2217343002 .
2016-08-05 13:17:00 -07:00
Matthias Hausner 6075a53547 Skip initializing_formal_* tests on Dartium
Apparently the VM does not get the --initializing-formal-access flag
set, which these tests need in order to pass.

TBR=terry

BUG=

Review URL: https://codereview.chromium.org/2219473002 .
2016-08-04 13:47:21 -07:00
Matthias Hausner 643fdb9dc8 Implement the language change that makes initializing formal parameters visible in the initializer list, but not in the constructor's body.
The feature is enabled with the flag --initializing-formal-access.

BUG=26655, 26656
R=regis@google.com

Review URL: https://codereview.chromium.org/2051213005 .
2016-08-04 11:24:25 -07:00
John McCutchan 268082769b Initial status file updates for $hot_reload_rollback
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2207653002 .
2016-08-02 11:03:44 -07:00
John McCutchan 8b3a8bbe0f Update status files now that tear off closure equality works across reloads
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2185133004 .
2016-07-28 12:42:12 -07:00
Regis Crelier 48060a653f Reverting bad fix of issue #26941.
Review URL: https://codereview.chromium.org/2179903009 .
2016-07-28 12:39:49 -07:00
Regis Crelier 093bca5909 Temporarily skip test that became flaky after fixing #26941.
Review URL: https://codereview.chromium.org/2192723002 .
2016-07-27 22:38:42 -07:00
Regis Crelier f10ce1eb69 Skip new regression test crashing when precompiled.
Review URL: https://codereview.chromium.org/2186493005 .
2016-07-27 18:31:50 -07:00
Ryan Macnak 634a62c9df DBC: Add missing deopt info after stack overflow checks.
Fixes collecting a debugger stack trace at an interrupt.

Enable most vm-service tests.

R=zra@google.com

Review URL: https://codereview.chromium.org/2183993004 .
2016-07-27 12:25:54 -07:00
John McCutchan f79756b88d Hot reload status file updates
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2164063002 .
2016-07-20 11:02:23 -07:00
John McCutchan c692a64e5a Rework how enums are implemented and reloaded
- Enum instances now hold their index and their label. Before the labels were held in a static array to the side and the index was used to look up the label.

- Before and after reload enum instances are now paired (by label) and put into the 'become' table.

Fixes https://github.com/dart-lang/sdk/issues/26877

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2153143002 .
2016-07-15 10:52:20 -07:00
John McCutchan 6c27b6e381 Tweak for hot reload status file
Enum identity tests can sometimes pass.

BUG=

Review URL: https://codereview.chromium.org/2147183003 .
2016-07-14 07:56:56 -07:00
Todd Turnidge 77b99396e8 Disallow deferred loading when using isolate reloading.
Update status files.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2144113002 .
2016-07-13 15:25:06 -07:00
John McCutchan 80cca0ec0e More status file updates for reload bots
BUG=

Review URL: https://codereview.chromium.org/2146043002 .
2016-07-13 09:19:20 -07:00
Ryan Macnak cdacb9b8a2 Update status files for caching-JIT snapshots.
Review URL: https://codereview.chromium.org/2144813004 .
2016-07-12 18:31:40 -07:00
John McCutchan 09944945ab Update service.status for hot_reload
BUG=

Review URL: https://codereview.chromium.org/2142143003 .
2016-07-12 12:41:20 -07:00
John McCutchan 257bd302bb Update language.status for hot reload tests
BUG=

Review URL: https://codereview.chromium.org/2134393002 .
2016-07-11 14:40:15 -07:00
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