Commit graph

45034 commits

Author SHA1 Message Date
Florian Schneider 1b3a53883c Add missing abstract modifier.
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2714783003 .
2017-02-23 13:44:23 -08:00
danrubel 289888cd0e enhance ContextBuilder getAnalysisOptions to handle lints
This updates ContextBuilder to process the --lints command line option:
* --[no-]lints enables (or disables) lints
* if --lints but no lints specified in analysis options
    then the default set of lints is used
* if --no-lints then lints are turned off
    regardless of what is specified in the analysis options
* if neither --lints nor --no-lints are specified
    then lints are turned on iff analysis options specifies lints

My next step is to update analyzer_cli to use ContextBuilder getAnalysisOptions

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2716693003 .
2017-02-23 16:23:43 -05:00
Ben Konyi d4f026c2e0 Revert "Updated MallocHooks to collect stack traces when memory is allocated."
This reverts commit a486a8a26b51dce728373183ab02aeda70e6f2d0.

R=johnmccutchan@google.com
TBR=johnmccutchan@google.com
BUG=

Review-Url: https://codereview.chromium.org/2713803003 .
2017-02-23 13:13:44 -08:00
Devon Carew cf1e1cd2cf Re-land minor tweaks to the analyzer cli's usage text.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2717563003 .
2017-02-23 12:59:43 -08:00
Konstantin Shcheglov 7a321225f0 Make src/task/strong tests into classes and asynchronous.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2705323005 .
2017-02-23 12:54:09 -08:00
Ben Konyi 47f0da9cd7 Updated MallocHooks to collect stack traces when memory is allocated.
BUG=
R=johnmccutchan@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2680213002 .
2017-02-23 12:42:18 -08:00
Ryan Macnak 781fd36086 Add an option to gen_snapshot for creating a Makefile describing a snapshot's dependencies. This option may be used when generating any snapshot kind, or without generating a snapshot.
- Factor out MallocGrowableArray from vm to platform.
 - Add File::Print.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2715463003 .
2017-02-23 12:40:48 -08:00
Florian Schneider 521526d259 Fixup redefinitions before doing code motion
Also use redefined receiver consistently when inlining recognized methods.

This CL re-enables type propagation from CheckClassId instructions which
was disabled as a temporary stop-gap to prevent illegal code motion.
(reverts https://codereview.chromium.org/1928633002)

Now uses of redefined values that are dominated by the redefinition are renamed before doing LICM.

Related to #26347.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2709093003 .
2017-02-23 12:34:55 -08:00
John McCutchan 88b68b30b4 Don't inline functions that the parser decides shouldn't be inlined.
Fixes #28857
Fixes #28759

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2713593004 .
2017-02-23 12:32:44 -08:00
Brian Wilkerson 37c585e842 Make it safe to initialize the notificationManager in server
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2708353008 .
2017-02-23 12:31:15 -08:00
Jacob Richman a1b8c1c6d5 Extend the API exposed to JS to include a method that resolves urls against the summaryDataStore finding the closest match to a file with a summary or returning null if no urls match the path.
Update dev_compiler web project to work with latest analyzer changes.

Tweak API to work better with new summary paths and small polish items.

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2713773004 .
2017-02-23 11:29:10 -08:00
Jacob Richman 7cdf5d7f7b Fix SummaryDataStore to support using a ResourceProvider instead of dart:io
This code broke running the Analyzer under Dart2JS.

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

Review-Url: https://codereview.chromium.org/2710193004 .
2017-02-23 11:03:34 -08:00
Jacob Richman e36efc72d2 Fix summarize const expression logic to be compatible with Dart2JS.
Shifting by 32 bits is not safe when compiling to JavaScript.

BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2711843003 .
2017-02-23 11:02:10 -08:00
Martin Kustermann 8b7f7b242c Temporarily suppress fasta compiler hints/warnings/errors during compilation of platform.dill for the patched_sdk target
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2711963002 .
2017-02-23 20:01:15 +01:00
Konstantin Shcheglov 02da0fb1dd Issue 28862. Implement type inference for invokeConstructor with field formal parameter.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/28862

Review-Url: https://codereview.chromium.org/2710943007 .
2017-02-23 10:48:02 -08:00
Ryan Macnak 019529566e Fix RawCode::to() for the precompiled runtime.
Broken by cfe5e5f075.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2711193002 .
2017-02-23 10:17:45 -08:00
Konstantin Shcheglov 7358288e21 Issue 28862. Implement type inference for invokeConstructor.
Not fully fixed yet, we don't work well with 'this.x' in constructor and
type inference. Will look in the next CL.

R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/28862

Review-Url: https://codereview.chromium.org/2711733003 .
2017-02-23 09:59:50 -08:00
Konstantin Shcheglov 4500bb0920 Parse optional and named parameters.
I'm not a big fan of the currentParameterKind stack, this information is
almost accessible from parseFormalParameter(), but we don't pass the type
to the listener.

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

Review-Url: https://codereview.chromium.org/2709783003 .
2017-02-23 09:55:15 -08:00
Konstantin Shcheglov 86c1ef03ee Add support for FieldFormalParameter.
R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2716433002 .
2017-02-23 09:42:43 -08:00
Devon Carew 9dd2a6d452 Revert "Tweaks to the analyzer_cli."
This reverts commit a7ac08d0e7.

BUG=

Review-Url: https://codereview.chromium.org/2709163005 .
2017-02-23 09:39:25 -08:00
Devon Carew a7ac08d0e7 Tweaks to the analyzer_cli.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2709013005 .
2017-02-23 09:02:49 -08:00
Vyacheslav Egorov 1f00947ea8 In patch_sdk when passing --packages down to fasta turn it into an URI.
R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2709033005 .
2017-02-23 17:38:23 +01:00
Vyacheslav Egorov 80c3247f99 Make patch_sdk step invoke fasta's compile_platform to generate patched_sdk/platform.dill.
This is where Kernel isolate expects to find it currently.

This is a preparation for flipping DFE_USE_FASTA to true.

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

Review-Url: https://codereview.chromium.org/2710943006 .
2017-02-23 17:12:45 +01:00
Peter von der Ahé 961f710c05 More double reporting tests.
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2712883004 .
2017-02-23 16:51:50 +01:00
Peter von der Ahé e4738554be Skip further double reporting tests.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2707033007 .
2017-02-23 16:29:51 +01:00
Karl Klose 5c2187bdd1 Canonicalize mixin applications by their name
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2709943005 .
2017-02-23 15:50:20 +01:00
Karl Klose 37471144c2 Skip all tests in pkg/kernel/testcases
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2715693002 .
2017-02-23 14:31:09 +01:00
Florian Loitsch a26b21fd52 Fix build by adjusting status files and renaming test files.
Review-Url: https://codereview.chromium.org/2711033003 .
2017-02-23 14:13:55 +01:00
Asger Feldthaus 8bfc4b47c0 Implement canonical name scheme in kernel.
This adds a class CanonicalName that can represent a library, class,
or member.  All references now go through a Reference object, which is
linked to both the AST node and its CanonicalName, so either can be
created first.

dartk now accepts multiple input files:
- If multiple dart files are given, they are all compiled.
- If multiple binaries are given, they are linked together.
Mixed dart and binary input is not supported by dartk.

dartk now has a flag --include-sdk which includes the entire SDK in
the output.  This is so the SDK can be compiled alone and then linked.

Example of compiling separately and then linking:
  dartk foo.dart -o foo.dill
  dartk main.dart -o main.dill
  dartk --include-sdk -o sdk.dill
  dartk main.dill foo.dill sdk.dill --target=vm --link -o program.dill

dartk still has incredibly slow cold start due to the analyzer loading
the dart sdk, so this does not actually speed things up at the moment.

BUG=
R=ahe@google.com, kmillikin@google.com, kustermann@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2665723002 .
2017-02-23 14:12:10 +01:00
Florian Loitsch fb003ef3cb Fix typo in comment.
Review-Url: https://codereview.chromium.org/2715683002 .
2017-02-23 14:00:16 +01:00
Florian Loitsch 6cf3c51414 Better comment for embedded names.
Review-Url: https://codereview.chromium.org/2712953002 .
2017-02-23 13:52:25 +01:00
Peter von der Ahé f1dc355971 Mark service/isolate_lifecycle_test flaky on all platforms.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2710023004 .
2017-02-23 13:42:55 +01:00
Florian Loitsch 979183decf Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, paulberry@google.com, sigmund@google.com

Committed: 85227ba8a6
Reverted: f5fc210f4f
Committed: e4999a6310
Reverted: c64c351539
Committed: c289af39c3
Reverted: c66479f407
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-23 13:36:28 +01:00
Asger Feldthaus 2f331ecd1b Fix two issues with modular compilation in dartk.
- The interface for a factory constructor in an external library would
  reference the class type parameters instead of its own.

- When a class from an external library gets promoted to mixin level,
  the rest of the library should not be considered "being loaded".
  This would cause members to not get added to the AST.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2710783004 .
2017-02-23 12:38:20 +01:00
Peter von der Ahé 46576226ee Skip double reporting tests on dart2js configurations.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2709613010 .
2017-02-23 12:25:30 +01:00
Peter von der Ahé bf12208dba Skip standalone/io/console_unicode_test on Android.
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2711913002 .
2017-02-23 11:57:50 +01:00
Paul Berry abcc4d4ad2 Add AstBuilder support for TypeArguments.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2716483002 .
2017-02-22 15:50:26 -08:00
Zachary Anderson de63e4fa94 [Fuchsia] Update to the newest spelling of launchpad calls
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2713523005 .
2017-02-22 15:41:40 -08:00
Brian Wilkerson 74bf8c9c44 Add test for issue 28821
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2707263005 .
2017-02-22 14:37:06 -08:00
Paul Berry 832e71deab Update Fasta parser expectations to reflect 5de9108c16.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2710683008 .
2017-02-22 14:12:18 -08:00
Paul Berry 5e997051cf Add AstBuilder support for enum declarations.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2711813002 .
2017-02-22 14:11:26 -08:00
Devon Carew 1da570c215 Remove and hide analyzer cli flags.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2713723003 .
2017-02-22 14:09:41 -08:00
Zach Anderson 30da80fb17 [dart:io][windows] Set up CRT error handling behavior
fixes #28852

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2710103002 .
2017-02-22 13:55:07 -08:00
Zach Anderson feb64964cc Updates CHANGELOG.md for windows console unicode
related #28571

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2709323002 .
2017-02-22 13:35:27 -08:00
Harry Terkelsen fce2935ef5 remove old way of collecting dependencies for dump-info
The new way of collecting dependencies covers everything from
the old way, and does not have any spurious dependencies that
the old way had.

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

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2709043002 .
2017-02-22 12:53:50 -08:00
Brian Wilkerson 442e3849e1 Fix some parser issues related to generic functin types
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2707973008 .
2017-02-22 12:50:03 -08:00
Paul Berry 3fbeb5d064 Add contextual information about identifiers to the parser listener API.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2711463005 .
2017-02-22 12:42:36 -08:00
Devon Carew 46cacfeae9 Some improvements to the command-line analyzer's output.
BUG=
R=brianwilkerson@google.com, danrubel@google.com

Review-Url: https://codereview.chromium.org/2704103002 .
2017-02-22 12:35:09 -08:00
Paul Berry cdda898b3c Minor fixes to AstBuilder.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2709753006 .
2017-02-22 10:53:52 -08:00
Brian Wilkerson 5d6b742904 Initial integration of NotificationManager into server
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2713533003 .
2017-02-22 10:41:13 -08:00