Commit graph

42912 commits

Author SHA1 Message Date
Johnni Winther
33303ffea5 Resolve type arguments to generic methods.
R=eernst@google.com

Review URL: https://codereview.chromium.org/2535373003 .
2016-11-30 12:44:29 +01:00
Kevin Millikin
bda2c1d534 Update kernel/binary.md.
Update a few things that are out of date and consistently use List for
arrays preceded by a UInt length.

BUG=
R=asgerf@google.com

Review URL: https://codereview.chromium.org/2539063002 .
2016-11-30 12:26:03 +01:00
Martin Kustermann
f9c9c4e767 VM: Fix segfault during shutdown of socket listening registry
The following happened:

A listening socket (ipv4, first-port) was created.  Afterwards another
listening socket (ipv6, 0) is being created.  We look up in the hashmap
if there is already a listening socket on port `0` (which is never the case).
So we create a new socket, the OS assigns the socket a random port
(which just happens to be `first-port` as well).  Then we insert a new OSSocket
entry into the hashmap with key `first-port` (and set its `next` field to NULL).
This will simply override the existing entry.

During shutdown we loop over all (fd, OSSocket) pairs and try to remove
`OSSocket` from the port->socket map (via the linked `next` list).  We cannot
find the `OSSocket` which we accidentally droped earlier, so we dereference
`0->next` and hit a SEGFAULT.

What should've happend is to correctly link the `OSSocket`s via the next field.

Fixes #27847

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

Review URL: https://codereview.chromium.org/2540013002 .
2016-11-30 11:48:08 +01:00
Erik Ernst
2812738546 Added CHANGELOG.md entry for initializing formal access.
R=kevmoo@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/2540643002 .
2016-11-30 11:47:03 +01:00
William Hesse
de0c7acfd7 Update status for flaky Windows tests
BUG=https://github.com/dart-lang/sdk/issues/27935
R=eernst@google.com

Review URL: https://codereview.chromium.org/2539033002 .
2016-11-30 11:41:17 +01:00
Asger Feldthaus
709c1e0b75 Store library paths relative to a given application root folder.
In kernel, library import URIs now support an "app" scheme as an
alternative to the "file" scheme, representing a path relative to
the application root.

dartk takes an --app-root flag giving the application root. If none
is given, file URIs are used instead.

The intention is that kernel binaries should not carry irrelevant
path information, such as the path to the home directory of the
user who compiled a given file.

It is not the intention that end-users should see an app URI.
Import paths are currently not shown to users at all, and if we need
to do this, they should be translated to file paths first.

In theory we could stick to file URIs with relative paths, but the Uri
class from dart:core makes this difficult, as certain operations on it
assume that file paths should be absolute.

Source mapping URIs are not yet affected by this change.

R=kmillikin@google.com

Committed: 60adb852ad

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

Reverted: bb540416f2
2016-11-30 10:39:48 +01:00
Asger Feldthaus
ecf9acd26c Update vm-kernel status file.
BUG=
R=jensj@google.com

Review URL: https://codereview.chromium.org/2538063002 .
2016-11-30 10:38:21 +01:00
Johnni Winther
40bf5d321e Handle 'dynamic' as type argument in generic calls.
R=eernst@google.com

Review URL: https://codereview.chromium.org/2541473002 .
2016-11-30 09:29:35 +01:00
Johnni Winther
44bdc75827 Support patched generic methods.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2535213003 .
2016-11-30 09:20:42 +01:00
Johnni Winther
3af747810f More refactoring of enqueuers
- refactor enqueuer/strategy/impact-visitor relations
- make helper methods/fields private

R=het@google.com

Review URL: https://codereview.chromium.org/2535143003 .
2016-11-30 09:12:08 +01:00
Asger Feldthaus
04c66f8bab Support --strong when running dartk from test.py.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2536143003 .
2016-11-30 08:25:53 +01:00
Asger Feldthaus
440813c67b Check that invocations have well-formed targets in kernel verifier.
This also fixes some issues in the frontend and transformers that
generated calls without the correct number of type arguments.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2533793005 .
2016-11-30 08:24:03 +01:00
Asger Feldthaus
ddc6af7556 Update kernel testcase baseline.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2541523002 .
2016-11-30 08:18:55 +01:00
Konstantin Shcheglov
0f9a78ff53 Make 'Inline Method' refactoring work with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2540793003 .
2016-11-29 17:12:46 -08:00
Alan Knight
667fc8dbe9 Make the dart:developer library available in DDC so debugger statement works
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2534263002 .
2016-11-29 16:13:45 -08:00
Ben Konyi
d406779dd8 Changes to language.status to fix broken tests on vm-reload and analyzer.
R=zra@google.com

Review URL: https://codereview.chromium.org/2541513003 .
2016-11-29 16:07:56 -08:00
Bob Nystrom
8073b4729c Update dart_style to 0.2.12.
This adds support for generic methods.

R=kevmoo@google.com

Review URL: https://codereview.chromium.org/2537273003 .
2016-11-29 15:51:17 -08:00
Ben Konyi
9428946b48 Fixed failing tests (for real this time hopefully) for build #2323
Updated language.status to address failure of regress_27201_test caused by lack of deferred loading support.

BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2542473002 .
2016-11-29 15:13:16 -08:00
Stephen Adams
9871523b61 Recognise x.==(null) and generate HIdentical
This handles many of the kernel null-aware expansions, which do not map back to Ast nodes.

R=efortuna@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2535323002 .
2016-11-29 15:05:52 -08:00
Ben Konyi
061cbb170e Updated language.status to address failure of regress_27201_test caused by lack of deferred loading support.
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2542453002 .
2016-11-29 14:32:15 -08:00
Konstantin Shcheglov
6fd063ede5 Update to make Extract/Inline local and Extract Method refactorings work.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2539753003 .
2016-11-29 14:14:32 -08:00
Ben Konyi
7e918f5b48 Fixed the conditions of an assert causing the debug VM to crash when trying to load a library from an invalid path. Created copy of a previous deferred_import_t02.dart test from co19 as a regression test until deferred_import_t02.dart is reverted to the previous test.
Fixes #27201

R=zra@google.com

Review URL: https://codereview.chromium.org/2537253002 .
2016-11-29 14:07:19 -08:00
Vijay Menon
88c5dd5745 Better mirrors support for mixins and private fields
This is generally motivated by pageloader usage.

R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2535273002 .
2016-11-29 14:00:01 -08:00
Konstantin Shcheglov
7c3932d594 Implement search for PrefixElement.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2535173004 .
2016-11-29 13:58:05 -08:00
Jacob Richman
1370b6bb46 Fix handling of static names for JS interop and improve test coverage.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2536823003 .
2016-11-29 13:33:19 -08:00
Brian Wilkerson
37387de83a Exclude files from analysis when using AnalysisDriver
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2536303002 .
2016-11-29 13:30:22 -08:00
Konstantin Shcheglov
38635ec91e Support for AwaitExpression in unlinked expressions.
This code was failing when analyzing dev_compiler with the new driver.
var instanceVarArrowExpression = (f) async => await f;

The reason was that we:
1. Don't understand AwaitExpression in AbstractConstExprSerializer.
2. So, we throw StateError.
3. So, AbstractConstExprSerializer.serialize() marks isValidConst.
4. But we don't check 'isValidConst' in linker.
5. The list of operations is empty, so we don't have anything in stack.
6. So, we throw an exception in linker.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2541603002 .
2016-11-29 13:22:31 -08:00
Paul Berry
4cdb5534bf Properly resolve dependency part paths in summary linker.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2540823002 .
2016-11-29 13:07:53 -08:00
Emily Fortuna
ecb9b3618a Handle "as" in kernel with ir.AsExpression case.
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com

Review URL: https://codereview.chromium.org/2538643002 .
2016-11-29 12:46:43 -08:00
Zachary Anderson
2644362215 GN: Reset default for fallback root certs to false.
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2536273002 .
2016-11-29 12:24:48 -08:00
Paul Berry
af89793c11 Use putIfAbsent in InheritanceManager._reportError.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2537643004 .
2016-11-29 12:07:10 -08:00
Konstantin Shcheglov
86866a3116 Don't attempt to record reference to a named parameter of a synthetic function.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2537883002 .
2016-11-29 11:41:55 -08:00
Paul Berry
636e7b559b Avoid a crash during summary linking when there are inheritance errors.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2531333006 .
2016-11-29 11:04:29 -08:00
Vijay Menon
22f85df76e Fix expectation
I copied over the new version of the test for sdk/tests and dropped the 'negative'.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2536903005 .
2016-11-29 10:28:27 -08:00
Stephen Adams
84aa1746e2 dart2js-kernel: Implement RAW_DART_FUNCTION_REF
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2540603002 .
2016-11-29 10:16:37 -08:00
Paul Berry
be11197a6c Consolidate AST element/type interfaces.
The AST getters/setters for `bestElement`, `propagatedElement`, and
`staticElement` having type `MethodElement` are moved to a common
interface class, `MethodReferenceExpression`.

The AST getters/setters for `staticElement` having type
`ConstructorElement` are moved to a common interface class,
`ConstructorReferenceNode`.

The overrides for `propagatedInvokeType` and `staticInvokeType` are
removed from `FunctionExpressionInvocation` and `MethodInvocation`,
since these overrides are identical to the corresponding declarations
in the base class, `InvocationExpression`.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2536253002 .
2016-11-29 10:11:35 -08:00
Brian Wilkerson
f88b824e55 Read overlay content when computing completions (issue 27887)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2537513004 .
2016-11-29 09:58:58 -08:00
Brian Wilkerson
c443aceb7e Guard against missing line information (issue 27906)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2537753003 .
2016-11-29 09:58:43 -08:00
Brian Wilkerson
3e51e6d3c9 Fix reference to validate method
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2536233002 .
2016-11-29 09:57:27 -08:00
Florian Schneider
ff483c2a78 VM: Fix potential problem with visiting stack frames.
LookupDartCode would only return a non-null coe object for regular functions,
but not for stub code objects.  We should also visit pointers for stub code objects.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2528433007 .
2016-11-29 09:57:05 -08:00
Brian Wilkerson
37bc2efa1f Update status file after enabling read-only access to initializing formals
Review URL: https://codereview.chromium.org/2538803002 .
2016-11-29 09:56:27 -08:00
keertip
bb74bc6a49 fix arguments for dartdoc run
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/2534173003 .
2016-11-29 08:43:14 -08:00
keertip
cbd36e42e7 update dartdoc version in DEPS
BUG=
R=devoncarew@google.com

Review URL: https://codereview.chromium.org/2535863003 .
2016-11-29 08:07:51 -08:00
Brian Wilkerson
7e067a6fc8 Enable read-only access to initializing formals (issue 27895)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2532953004 .
2016-11-29 07:46:28 -08:00
Konstantin Shcheglov
987ed0661c Dispose AnalysisContext(s) used to resynthesize CompilationUnitElement(s) for IndexResult(s).
Otherwise we end up with references from SDK cache partitions to the
context private partitions, which reference AnalysisContext(s).

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2532353002 .
2016-11-29 07:18:45 -08:00
Asger Feldthaus
5d26d67342 Revert "Update kernel baseline tests."
This reverts commit b771d61499.

BUG=

Review URL: https://codereview.chromium.org/2540713002 .
2016-11-29 15:01:09 +01:00
Asger Feldthaus
bb540416f2 Revert "Store library paths relative to a given application root folder."
This reverts commit 60adb852ad.

BUG=

Review URL: https://codereview.chromium.org/2539783002 .
2016-11-29 14:55:57 +01:00
Martin Kustermann
b5e0a0060b Remove dart:mojo.internal library in FlutterTarget
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2539773002 .
2016-11-29 14:41:40 +01:00
William Hesse
e2a48dbf38 Update status for failing tests
BUG=https://github.com/dart-lang/sdk/issues/27925
R=eernst@google.com

Review URL: https://codereview.chromium.org/2536183002 .
2016-11-29 14:26:27 +01:00
Asger Feldthaus
640061d62e Add more checks to kernel verifier.
We now check that classes and type parameters are not redeclared.

The verify_test also verifies that its test harness has no errors,
as this would make all the other tests useless.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2539743002 .
2016-11-29 13:04:43 +01:00