Commit Graph

12688 Commits

Author SHA1 Message Date
William Hesse b48188fb3f Update co19 dart2js status for Chrome 48.
BUG=

Review URL: https://codereview.chromium.org/1659523002 .
2016-02-01 19:23:04 +01:00
Paul Berry 4896fea5f5 Add shared tests demonstrating bugs #25624, #25625, and #25626.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1653833002 .
2016-02-01 08:14:00 -08:00
Asger Feldthaus 27bb7d6153 dart2js cps: Update status file.
BUG=

Review URL: https://codereview.chromium.org/1652923002 .
2016-02-01 13:28:27 +01:00
Paul Berry 87c6790bb9 Add tests demonstrating bug #25605.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1650783002 .
2016-01-31 05:43:02 -08:00
Ivan Posva fe03117706 The uptime of the vm-linux-release-ia32-be buildbot has reached the
JS integer overflow limit when read in microseconds. These tests will
fail because initializing the Stopwatch object now throws the
JavascriptIntegerOveflowError during load.

- Disable these tests.

BUG=

Review URL: https://codereview.chromium.org/1646413005 .
2016-01-29 16:00:29 -08:00
Regis Crelier daf672405c Relax assert when applying a mixin application alias (fixes #25617).
Update status file.

R=hausner@google.com

Review URL: https://codereview.chromium.org/1653593002 .
2016-01-29 15:17:35 -08:00
Florian Loitsch 2232803eae Don't use "var" to introduce the deferred_initializer.
R=het@google.com

Review URL: https://codereview.chromium.org/1653453002 .
2016-01-29 21:52:52 +01:00
Ivan Posva 744b81efcd - Try to get more information for buildbot only failures.
BUG=

Review URL: https://codereview.chromium.org/1648123003 .
2016-01-29 12:05:41 -08:00
Paul Berry 62fad4641c Update status file to reflect bug #25617.
TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1653433002 .
2016-01-29 11:30:01 -08:00
Bob Nystrom 434f5bc922 Implement the spec's notion of LUB for function types.
Fixes #23381.

R=brianwilkerson@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/1648063002 .
2016-01-29 10:37:58 -08:00
Paul Berry 6590cc26c4 Add shared tests demonstrating bug #25614.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1646343002 .
2016-01-29 10:23:03 -08:00
Zachary Anderson 98771a083f Adds SecurityContext.usePrivateKeyBytes
This is the first step toward removing blocking IO calls from
the implementation of the SecurityContext API.

Using a buffer rather than a file name API will probably be needed
for implementing SecurityContext and SecureSocket with platform
specific built-in APIs on iOS/Mac/Windows rather than BoringSSL.

related #8227

R=whesse@google.com

Review URL: https://codereview.chromium.org/1616073004 .
2016-01-29 08:52:18 -08:00
Regis Crelier 220f8c57b3 Resolve signature from correct scope class (fix #25609).
Add regression test.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1647653007 .
2016-01-28 13:29:28 -08:00
Johnni Winther 40302e2933 Support hide annotations in diff_view.
R=asgerf@google.com

Review URL: https://codereview.chromium.org/1648663002.
2016-01-28 15:50:36 +01:00
Lasse R.H. Nielsen d6b01b5028 Fix type-error in base64.dart
Fixes issue #25577.
BUG= http://dartbug.com/25577

Review URL: https://codereview.chromium.org/1630933004.
2016-01-28 13:15:01 +01:00
Kevin Millikin fd9603d1d2 dart2js CPS: implement special handling of the Symbol constructor.
There is a 'const' Symbol constructor that is not expressible as a Dart
const constructor because it performs validation of its input.  This is
implemented in the libraries by using a dummy const constructor definition
that does not validate its input and replacing calls to 'new Symbol' with
calls to 'new Symbol.validated' in the compiler.

Without replacing calls to 'new Symbol', the non-validating dummy
implementation will be used, which is not correct.

Closes #24878.

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

Review URL: https://codereview.chromium.org/1639313002 .
2016-01-28 08:55:35 +01:00
Stephen Adams 1673a64849 Add type info to JSArray.
JSArray<E>.typed has a specially generated body. We should be able to inline this. This makes all of the "new List.xxx()" paths work.

Literal lists are treated like maps - we generate a call to JSArray<E>.typed.  I need to change that to JSArray<E>.markGrowable.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1642493002 .
2016-01-27 13:47:12 -08:00
Johnni Winther 8ab89a2653 Optimize subclass/subtype queries
BUG=
R=karlklose@google.com

Committed: https://github.com/dart-lang/sdk/commit/285400c7a73f98da3e3076038d91ddf3ecbbba9e

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

Review URL: https://codereview.chromium.org/1627333002.
2016-01-27 14:33:57 +01:00
Matthias Hausner 851b4a995c Compile-time error if mixin class has a factory
The VM now reports the location of the mixin application as well as
the location of the illegal constructor in the mixin class.

Update test language/mixin_illegal_constructor_test to follow the spec.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1638923002 .
2016-01-26 12:43:48 -08:00
Paul Berry afc2c880a6 Restore old supermixin functionality to shared language tests.
In 451eaab718 the "--supermixin" flag was
removed from the VM and from the shared language tests.  This caused
those language tests to fail on analyzer (because analyzer still
requires the flag).

Also some tests that validated the non-supermixin behavior were deleted.

It looks like we are going to keep requiring the flag in analyzer until
the feature is implemented in dart2js (see
https://github.com/dart-lang/sdk/issues/24478#issuecomment-170054303).
So in order to ensure that the analyzer implementation continues to be
tested, we still need the flags in the tests.  We also need the old
tests that validate the non-supermixin behavior, since the analyzer
continues to implement that behavior when the "--supermixin" flag is
absent.

This CL does not introduce any new VM failures, because (a) the VM
ignores the "--supermixin" flag, so the tests in which the flag is being
reintroduced will still behave the same way on the VM, and (b) the tests
that validate non-supermixin behavior are disabled on the VM.

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

Review URL: https://codereview.chromium.org/1635763003 .
2016-01-26 08:50:21 -08:00
Kevin Millikin ba884f7f9f dart2js: Match the runtime int is check semantics at compile time.
BUG=
R=asgerf@google.com

Review URL: https://codereview.chromium.org/1635053002 .
2016-01-26 16:10:54 +01:00
Johnni Winther 2affe22138 Revert "Optimize subclass/subtype queries"
This reverts commit 285400c7a7.

BUG=

Review URL: https://codereview.chromium.org/1638863002.
2016-01-26 15:24:36 +01:00
Johnni Winther 285400c7a7 Optimize subclass/subtype queries
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org/1627333002.
2016-01-26 14:44:25 +01:00
Paul Berry 2858cfd29f Mark #25287 as fixed in the status file
Based on buildbot behavior, bug #25287 appears to have been fixed by
commit ccf3870ffc.  (See
https://build.chromium.org/p/client.dart/builders/analyzer_experimental-linux-release-be/builds/5582/steps/tests%20--host-checked%20--checked/logs/stdio).

This should fix the analyzer buildbot.

TBR=skybrian@google.com

Review URL: https://codereview.chromium.org/1636023002 .
2016-01-26 04:51:16 -08:00
Johnni Winther 735e0e60f8 Remove warning for inherited noSuchMethod.
Closes #25580

R=karlklose@google.com

Review URL: https://codereview.chromium.org/1635533003.
2016-01-26 13:39:57 +01:00
Asger Feldthaus a1121d1488 dart2js cps: Make register allocation prioritize phi elimination.
The variable merger pass now prioritizes register allocations that
remove a moving assignment "v1 = v2" or enable a compoundable assignment
"v1 = v2 + E" to become "v1_2 += E".

When minifying, we now allow merging differently named variables.
Previously, preserving the variable names was important to get a good
register allocation, but that heuristic is no longer needed.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1625643002 .
2016-01-26 12:28:26 +01:00
Asger Feldthaus 719c1d227a dart2js cps: Translate identity placeholders to refinement nodes.
This avoids emberrasing code like "x = x", and improves GVN, BCE, type
refinement etc, since all the optimizations now know that the input
and output values are the same.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1576063003 .
2016-01-26 09:58:26 +01:00
Kevin Millikin 65ae116a01 dart2js: CPS translation of switches with continue to their labels.
Implement switches with continue to their labels by a first 'non-recursive'
switch followed by a second (only) 'recursive' switch inside a loop.
Continue is implemented by assignment to a state variable that the second
switch switches over.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1585503002 .
2016-01-26 09:43:13 +01:00
Stephen Adams e3810ceff2 Use existing test for reflectClass(List).createInstance(...)
TBR=asgerf@google.com

Review URL: https://codereview.chromium.org/1632163004 .
2016-01-25 21:58:14 -08:00
Stephen Adams 4a01c6a1cf List constructor sentinel must not implement 'int' (extend JSInt).
Having a regular object that 'is' a number was causing horrible problems for type inference and generated code quality.

To get this to work required fixes in type inference and the collection of reified default argument values.

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

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1629553002 .
2016-01-25 20:40:39 -08:00
Regis Crelier b116694c84 Fix building of closure type arguments (fixes #25543).
Re-enable skipped test with --noopt.

R=hausner@google.com

Review URL: https://codereview.chromium.org/1631803003 .
2016-01-25 13:58:00 -08:00
Matthias Hausner 4ca8417725 Allow methods to be named ‘factory’
Because it’s the law.

BUG=25489
R=regis@google.com

Review URL: https://codereview.chromium.org/1636583003 .
2016-01-25 13:46:52 -08:00
Florian Loitsch 5cb3da473b Update messages, and fix typing in test.
Review URL: https://codereview.chromium.org/1625213003 .
2016-01-25 13:41:03 +01:00
Florian Loitsch c849a62744 Generate dart2js and analyzer files for shared messages.
R=brianwilkerson@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1582903003 .
2016-01-25 13:08:40 +01:00
Lasse R.H. Nielsen 75d1366dbd Use WeakMap to support Expando if available.
Retains the existing code as fallback for settings without WeakMap for now.

Fixes issue #5144

BUG= http://dartbug.com/5144
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1599393003 .
2016-01-25 12:06:06 +01:00
Johnni Winther e333e631f3 Base JavaScript code position computation on JavaScript tracer.
Trace computation added in position_information.dart
Diff view tool added in diff_view.dart that utilizes the new computation and show coverage stats.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1617083002.
2016-01-25 11:17:24 +01:00
Matthias Hausner 82735da84d Remove obsolete test
built-in identifiers are no longer permitted as prefixes.

TBR=gbracha

BUG=6970

Review URL: https://codereview.chromium.org/1625733002 .
2016-01-22 16:00:19 -08:00
Zachary Anderson 80f358dede Adds targets for simarmv6 and armv6
related #25562

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Matthias Hausner f32e0ce74c Fix test expectation for deep recursion tests
BUG=

Review URL: https://codereview.chromium.org/1621783002 .
2016-01-22 09:47:15 -08:00
Matthias Hausner 6686380d1d Fix
BUG=

Review URL: https://codereview.chromium.org/1625513002 .
2016-01-22 09:20:08 -08:00
Matthias Hausner 783cc8acae Parser recursion check
Let the parser issue a compile-time error when the C stack is about to overflow, instead of crashing the VM.

BUG=24476
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1620493002 .
2016-01-22 08:59:45 -08:00
Søren Gjesse c60c5a595d Add tests for no context takeover configurations with multiple messages.
BUG=

Patch by Matthew Butler <butler.matthew@gmail.com>

R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1605583002 .
2016-01-22 13:36:44 +01:00
Lasse R.H. Nielsen 693628e99e Implement ?? as compile-time constant in VM.
Extracted from https://codereview.chromium.org/1493693002/

R=hausner@google.com

Review URL: https://codereview.chromium.org/1575383002 .
2016-01-22 12:39:16 +01:00
Stephen Adams 33ac12a5a4 Lower map literals to constructor or function calls in builder
Remove LiteralMap from cps_ir and tree_ir.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1616143003 .
2016-01-21 19:32:13 -08:00
Stephen Adams 7d3b6b1827 Triage 3 cps_ir tests
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/1617973002 .
2016-01-21 10:56:47 -08:00
Stephen Adams ffa96cdeac Avoid using wrong 'adaptor' for native methods.
The Dart arity adaptor was adding default arguments to the call instead of calling with the given number of arguments.
The best way to fix this is to implement Issue 25548.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1612773002 .
2016-01-21 08:44:22 -08:00
Sigmund Cherem e17d3d39ab Implement TypeMask.isDisjoint instead of using intersection.
R=sra@google.com

Review URL: https://codereview.chromium.org/1604333002 .
2016-01-20 14:18:16 -08:00
Regis Crelier 4bba786129 Temporarily skip a failing test.
Review URL: https://codereview.chromium.org/1610663002 .
2016-01-20 08:30:40 -08:00
Regis Crelier f8df1f4d43 Add mirrors to whitelist again. It was removed in a previous cl, because it was
failing locally. Behavior is different on buildbot.

Review URL: https://codereview.chromium.org/1601383003 .
2016-01-19 17:23:46 -08:00
Asger Feldthaus aba2e1ea99 dart2js cps: Fix bug in pulling of assignments into a var.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1609943002 .
2016-01-19 16:55:45 -08:00