Commit graph

45774 commits

Author SHA1 Message Date
Vijay Menon 84864e3415 DDC fix for Edge
Patch from zjd.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2780903004 .
2017-03-29 12:22:45 -07:00
Mike Fairhurst b4dbe8eba0 Re-add first copyright comment to DEPS, removed by mistake
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2779113005 .
2017-03-29 12:10:53 -07:00
Dan Rubel 4a783d1465 move synthetic fasta closers into the token stream
* add new SyntheticSymbolToken class

* whenever fasta inserts a closer ( '}', ']', ')' ) that is not part
  of the original source, ensure that the inserted closer is
  synthetic (isSynthetic returns true) and in the token stream

* make EOF a synthetic token

R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2777153002 .
2017-03-29 15:02:12 -04:00
Zach Anderson a7d1d99389 Revert "Remove definitions from Kernel canonical names."
This reverts commit ed77783cd3.

BUG=
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2782913003 .
2017-03-29 11:25:17 -07:00
Mike Fairhurst fd6c486760 add angular analyzer to DEPS for distribution in google builds
BUG=
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2601863002 .
2017-03-29 11:01:53 -07:00
John McCutchan 66aca8a36e Fix many warnings/errors when building Observatory
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2783933002 .
2017-03-29 10:31:40 -07:00
Ryan Macnak 9575657668 AOT compiler changes for dart_content_handler:
- Move some misplaced entry points from the vm list to the standalone embedder list.
 - Add missing libdart_with_precompiler to GN.
 - Add ability to reference the root library in treeshaking roots without knowing its URI (as ::).

R=zra@google.com

Review-Url: https://codereview.chromium.org/2786483002 .
2017-03-29 10:12:05 -07:00
Konstantin Shcheglov 1944172f47 Issue 29188. Failing test.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/29188

Review-Url: https://codereview.chromium.org/2785613002 .
2017-03-29 09:51:28 -07:00
Konstantin Shcheglov 13f6976ddb Fix for top-level inference error in SourceLoader.
R=ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2776353005 .
2017-03-29 09:33:14 -07:00
Konstantin Shcheglov 16e7ab8d17 Don't disable downward inference inside initializers used for top-level inference.
So, I'm removing this flag that didn't allow us to perform invocation
type inference and caused bogus STRONG_MODE_INVALID_CAST_NEW_EXPR errors.

This causes us to perform inference where we don't need it, and report
(only informational?) info:INFERRED_TYPE_ALLOCATION for these invocations.
At the same point, we report errors for these cases, which should be
fixed anyway, and then downward inference will not be performed anymore.

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

Review-Url: https://codereview.chromium.org/2779003004 .
2017-03-29 09:23:57 -07:00
John McCutchan 0e9b4123db Mark awaiter_async_stack_contents_test as failing on kernel bots
BUG=

Review-Url: https://codereview.chromium.org/2787523002 .
2017-03-29 08:47:14 -07:00
Vijay Menon 7a809bcc02 Add requirejs to repo for DDC
Fixes #29140

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

Review-Url: https://codereview.chromium.org/2782213002 .
2017-03-29 08:05:40 -07:00
John McCutchan 2815f3f775 Implement debugger support for async step-out
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2777093006 .
2017-03-29 07:44:18 -07:00
John McCutchan 8cee5258ee Fix crash when determining whether an async exception is handled
BUG=

Review-Url: https://codereview.chromium.org/2780163002 .
2017-03-29 07:30:29 -07:00
William Hesse 796c9c9002 Update dartium status for abstract_beats_arguments2_test
BUG=https://github.com/dart-lang/sdk/issues/29171
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2786453003 .
2017-03-29 16:13:16 +02:00
Devon Carew 394a106074 Remove unused imports.
BUG=
R=danrubel@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2786553002 .
2017-03-29 07:10:44 -07:00
Kevin Millikin ed77783cd3 Remove definitions from Kernel canonical names.
Before: Canonical names contained pointers to the corresponding Kernel
tree which assumed that the whole tree was in memory whenever the
canonical names were.

Now: Canonical names do not contain these pointers.  They were only
really used to perform name-based lookup in the VM's heap so the
canonical name itself is enough.

If we later find that we need to get from a canonical name to its
Kernel tree we can add an offset in the binary (for instance) to the
canonical name or in a separate mapping on the side.

BUG=
R=asgerf@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2781893004 .
2017-03-29 16:03:03 +02:00
John McCutchan d8555fb5a8 Include the awaiter stack trace in the service protocol
- [x] Include the (non-empty) awaiter stack trace in every `getStack` RPC.
- [x] Append the causal stack trace to the final frame of the awaiter stack trace.
- [x] Unit test for awaiter stack trace.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2782703002 .
2017-03-29 06:56:50 -07:00
Kevin Millikin 4de94b2d7b Await cancellation in the Kernel await transformer
When an an async for loop's StreamIterator is canceled the returned
Future should be awaited.  Closes issue 29192.

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

Review-Url: https://codereview.chromium.org/2782053003 .
2017-03-29 15:20:23 +02:00
Vyacheslav Egorov 536c610fd2 Update status files for all test suites for -c dartk / -c dartkp configuration.
We are going to switch to testing all testsuites instead of just limiting ourselves to

co19 language kernel service

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2780943004 .
2017-03-29 13:18:57 +02:00
Peter von der Ahé 695ebae97a Complain about bad operator parameters.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2782843002 .
2017-03-29 13:12:41 +02:00
Peter von der Ahé a994d0e47e Update status file after switching to multi test.
Review-Url: https://codereview.chromium.org/2782853002 .
2017-03-29 12:43:41 +02:00
Peter von der Ahé bbb20af8f9 Update test to make benefit analyzer.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2772403005 .
2017-03-29 12:29:54 +02:00
Johnni Winther 20ab9673c3 Extract the AST specific part of NoSuchMethodRegistry
This is a step towards making NoSuchMethodRegistry reusable for K-elements.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2782583003 .
2017-03-29 12:08:33 +02:00
Johnni Winther ad81a25ed1 Remove use JavaScriptBackend and Compiler from SsaCodeGenerator
This is another move towards passing all information through data objects
computed by previous phases rather than pulling it directly from
Backend or Compiler.

This is needed to support a shift from model K to model J between
resolution and codegen.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2777393003 .
2017-03-29 12:00:28 +02:00
Johnni Winther 72fc95113c Extract SuperMemberData from JavaScriptBackend
Yet another move towards passing all information through data objects
computed by previous phases rather than pulling it directly from
Backend or Compiler.

This is needed to support a shift from model K to model J between
resolution and codegen.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2783623002 .
2017-03-29 11:55:16 +02:00
Johnni Winther 6f48182a04 Use InterceptorDataBuilderImpl and BackendUsageBuilderImpl for kernel/closed_world_test
A step towards computing closed world based on kernel.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2776383002 .
2017-03-29 11:32:40 +02:00
Johnni Winther 94c8892162 Add createKernelResolutionEnqueuerListener to kernel/closed_world_test
This adds the yet unfinished createKernelResolutionEnqueuerListener method
to kernel/closed_world_test for easier tracking of the progress towards
computing a closed world purely from Kernel.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2778243002 .
2017-03-29 11:26:12 +02:00
Johnni Winther bd40a53baa Extract NativeClassResolver from NativeResolutionEnqueuer
This is a step towards making NativeResolutionEnqueuer and NativeCodegenEnqueuer element model agnostic.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2782503003 .
2017-03-29 11:05:10 +02:00
Peter von der Ahé a62c5631bf Use message.yaml in parser.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2778213002 .
2017-03-29 11:02:23 +02:00
Peter von der Ahé e8a718155e Update status for precompiler.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2776353002 .
2017-03-29 10:52:32 +02:00
Peter von der Ahé 2aa0e1976d Improve semantics of parts.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2781623003 .
2017-03-29 10:48:52 +02:00
Peter von der Ahé a49bc60120 Handle complicated imports.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2780543002 .
2017-03-29 10:44:22 +02:00
Johnni Winther a905b19f5d Move collection of native classes from NativeEnqueuerBase to NativeResolutionEnqueuer
The collected classes were needlessly recomputed in NativeCodegenEnqueuer. Now the set of classes is computed once and copied from NativeResolutionEnqueuer to NativeCodegenEnqueuer.

Next step is to move the collection from NativeResolutionEnqueuer to NativeDataResolver since its computation is AST dependent.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2779003002 .
2017-03-29 10:43:00 +02:00
Peter von der Ahé 2de7a24238 Handle complicated exports.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2776153002 .
2017-03-29 10:42:35 +02:00
Peter von der Ahé a6ba01e8aa Throw AbstractClassInstantiationError on abstract classes.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2781493002 .
2017-03-29 10:38:15 +02:00
Peter von der Ahé a91ebba200 Complain about assignments to parenthesized expressions.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2780483002 .
2017-03-29 10:28:05 +02:00
Peter von der Ahé e1a25e35ca Rename BuilderAccessor to FastaAccessor.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2777893002 .
2017-03-29 10:24:29 +02:00
Peter von der Ahé 0b4706ce30 Make catch variables final.
Fixes https://github.com/dart-lang/sdk/issues/28410.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2775163003 .
2017-03-29 10:20:07 +02:00
Peter von der Ahé f979dad474 Complain about uninitialized const fields.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2774933002 .
2017-03-29 10:12:41 +02:00
Jens Johansen 00ef784f0c [kernel] Don't use kernel ast nodes as keys
ScopeBuildingResult now uses 'IntMap's instead, i.e. doesn't use kernel objects as key
function_scopes doesn't contain function but dill file offset

BUG=
R=kmillikin@google.com

Committed: bc7200c392
Review-Url: https://codereview.chromium.org/2778693002 .
2017-03-29 09:57:13 +02:00
Jens Johansen 1c47104695 Revert "[kernel] Don't use kernel ast nodes as keys"
Commit made everything go red.

This reverts commit bc7200c392.

BUG=

Review-Url: https://codereview.chromium.org/2778423002 .
2017-03-29 08:44:39 +02:00
Jens Johansen bc7200c392 [kernel] Don't use kernel ast nodes as keys
ScopeBuildingResult now uses 'IntMap's instead, i.e. doesn't use kernel objects as key
function_scopes doesn't contain function but dill file offset

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2778693002 .
2017-03-29 08:39:37 +02:00
Ryan Macnak 8df8025f2a When linking natives lazily (as in AOT compilation), don't resolve them eagerly.
Avoids requiring an embedder to setup native stubs for functions that aren't called just to run Dart_Precompile.

Issue #24686

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2779703003 .
2017-03-28 15:29:26 -07:00
Konstantin Shcheglov 483066a697 Fix for Quick Fix to import SDK classes.
It's not 100% replacement, we handle SDK libraries just as any other
library, if it has not been imported yet somewhere, we don't know
about it. But probably this covers the most often case of using a
library in a new file of the project that already uses this SDK
library.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2781963002 .
2017-03-28 14:15:52 -07:00
Konstantin Shcheglov 84a4b01081 Store literal values and invocations arguments only for constants and untyped literals.
1. When a literal is typed, and is not a constant, we don't need its
   elements for type inference. Moreover, in this case elements are
   allowed to include nodes that are not immediately-evident expressions,
   such as instance creations without all type arguments, closures with
   block bodies, etc.

2. When a literal is a constant, so we still have to serialize all its
   elements, it is possible that we will encounter something not allowed
   for immediately-evident expressions, and fail. But that's OK, because
   such expressions are also not allowed in constants, so we will have
   a compile time error anyway, and IMHO it is OK to degrade a little
   in presence of errors.

3. The same is true for method invocations and instance creations,
   we need to serialize arguments only for constants, because top-level
   inference never uses arguments to infer returned types.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2779993002 .
2017-03-28 14:13:55 -07:00
Janice Collins a5ebc58cef fix return type of computeNode.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2778253002 .
2017-03-28 13:11:41 -07:00
Konstantin Shcheglov cf25e7f5cb Fix top-level inference errors for most of the newly failing tests.
Update analyzer status files and DDC expections.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2779843004 .
2017-03-28 12:16:09 -07:00
Jennifer Messerly 50be4c5d81 Update CHANGELOG.md (#29183) 2017-03-28 11:30:34 -07:00
Konstantin Shcheglov ec8e9f8926 Update corelib_strong/ and lib_strong/ status for new top-level inference failures.
TBR

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2782623002 .
2017-03-28 10:48:05 -07:00