Commit graph

41898 commits

Author SHA1 Message Date
Paul Berry
396d7862b4 More improvements to DeclarationResolver.
This CL makes the following improvements:

- When visiting an executable element, local variables and labels are
  rebuilt rather than matching them up to the old element model.  This
  ensures that if the element model was resynthesized from an API
  summary (which doesn't contain local variables or labels), these
  elements are not lost.

- When matching up existing elements, if the elements did not
  previously contain offsets, offsets are recorded.  If they did
  previously contain offsets, the offsets are compared to verify that
  they match.  This ensures that if the element model was
  resynthesized from an API summary (which doesn't contain offsets),
  the offsets will be correct.

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

Review URL: https://codereview.chromium.org/2435313002 .
2016-10-21 11:13:55 -07:00
Paul Berry
f1aee7cf68 Fix static modifier for synthetic fields coming from summaries.
R=jmesserly@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2439023002 .
2016-10-21 11:09:11 -07:00
Sigmund Cherem
02a14cd937 Add kernel generation to the compiler/perf script
R=het@google.com

Review URL: https://codereview.chromium.org/2436333002 .
2016-10-21 10:02:13 -07:00
Sigmund Cherem
2bcd189f2d add kernel generation to the front_end/tool/perf script
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2439053003 .
2016-10-21 09:10:19 -07:00
Sigmund Cherem
5964bdfa0b Copy perf.dart into front_end/tool.
This keeps analyzer_cli/perf.dart for now: I need to make the change in two
parts so I can update the benchmark runners after I submit this.

BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2432043008 .
2016-10-21 09:07:48 -07:00
William Hesse
edc7ca7517 Don't run pkg tests on GN builders
BUG=
R=sortie@google.com

Review URL: https://codereview.chromium.org/2442703002 .
2016-10-21 12:53:35 +02:00
Jennifer Messerly
95ef8bb59a fix #27643, failed to virtualize fields if an abstract one is mixed in
R=vsm@google.com

Review URL: https://codereview.chromium.org/2441693003 .
2016-10-20 16:31:06 -07:00
Sigmund Cherem
3c44a09882 make kerneltask an actual task
R=het@google.com

Review URL: https://codereview.chromium.org/2442503004 .
2016-10-20 16:27:33 -07:00
Vijay Menon
ce963596f0 Emit API-only summaries
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2435203002 .
2016-10-20 16:21:53 -07:00
Jennifer Messerly
cc1ad8cdde fix #27532, implementing a native type with fields
R=vsm@google.com

Review URL: https://codereview.chromium.org/2430953006 .
2016-10-20 15:59:18 -07:00
Jennifer Messerly
5111675810 fix #27631, get/set methods no longer shadow index operator
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2435163002 .
2016-10-20 15:45:29 -07:00
Brian Wilkerson
36d89f0c38 Prepare to publish
R=keertip@google.com

Review URL: https://codereview.chromium.org/2438653004 .
2016-10-20 14:31:08 -07:00
Sigmund Cherem
61bf1c2dc0 Re-add null check for closure-data (Originally removed in 177dee8f16)
Review URL: https://codereview.chromium.org/2438823002 .
2016-10-20 14:21:00 -07:00
Ryan Macnak
d274e8adf8 Skip http_server_response_test on AOT and app snapshots.
Issue #27633

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2432923005 .
2016-10-20 13:55:55 -07:00
Siva Annamalai
9c737d6055 Adjust help message.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2441553002 .
2016-10-20 13:54:35 -07:00
Zachary Anderson
8200955ed0 Fuchsia: Add native symbol resolver. Small fixes.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2438843002 .
2016-10-20 13:39:35 -07:00
Bob Nystrom
8e37e083fd Fix dart_style version.
I accidentally tagged the code review commit for "0.2.11+1", not the
commit created and landed by Rietveld. The "v0.2.11+1" tag points to the
right commit.

R=paulberry@google.com

Review URL: https://codereview.chromium.org/2438793003 .
2016-10-20 13:26:18 -07:00
Florian Schneider
c3fb2b5d89 Fix two io tests for precompilation, update status
BUG=#26376
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2441743002 .
2016-10-20 13:14:12 -07:00
Paul Berry
74d8298777 Fix handling of default formal parameters in DeclarationResolver.
When visiting a DefaultFormalParameter, we can't call
super.visitDefaultFormalParameter, because that would cause the
default value to be visited twice.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2438113002 .
2016-10-20 12:34:16 -07:00
Paul Berry
78ed4066c8 Add a "correction" field to front end compilation errors.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2429213008 .
2016-10-20 12:33:12 -07:00
Vyacheslav Egorov
1f6e03883e Teach analyzer parser to handle native const factories/const constructors.
This is needed to parse VM patch files, which contain things like:

@patch const factory String.fromEnvironment(String name,
                                              {String defaultValue})
      native "String_fromEnvironment";

Currently analyzer would throw "Only redirecting factory constructors can be
declared to be 'const'." error when it sees this code.

BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2435013003 .
2016-10-20 20:09:07 +02:00
Brian Wilkerson
96750cd5cb Split out options from ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2425423009 .
2016-10-20 11:03:11 -07:00
Bob Nystrom
59ec5d4f60 Update dart_style to 0.2.11+1.
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2442513002 .
2016-10-20 10:30:35 -07:00
Jennifer Messerly
dfac88ec18 fix typo in future union inference code
R=leafp@google.com

Review URL: https://codereview.chromium.org/2431313005 .
2016-10-20 10:22:23 -07:00
Paul Berry
105f568452 Mark some other instances of visibleLength/visibleOffset as informative.
These were inadvertenly left out of 84ec7f01c0.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2428413003 .
2016-10-20 09:09:07 -07:00
Brian Wilkerson
9f0e4e1162 Split out error codes into separate files
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2442463002 .
2016-10-20 08:40:36 -07:00
Brian Wilkerson
d42a22bb1d Deprecate ToSourceVisitor
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2439773002 .
2016-10-20 08:38:22 -07:00
Zachary Anderson
1baa650388 Fuchsia: Fix eventhandler for changed syscall return
Review URL: https://codereview.chromium.org/2433833005 .
2016-10-20 07:47:26 -07:00
Florian Loitsch
6beb1fdd11 Change Set.difference API to accept Set<Object>.
Fixes #27573
BUG= http://dartbug.com/27573
R=lrn@google.com

Review URL: https://codereview.chromium.org/2413233002 .
2016-10-20 14:37:15 +02:00
Siva Annamalai
941b0c8c39 Fix build.
BUG=

Review URL: https://codereview.chromium.org/2426383003 .
2016-10-19 18:01:41 -07:00
Siva Annamalai
36a237c88d Fix build.
Review URL: https://codereview.chromium.org/2431253004 .
2016-10-19 17:48:01 -07:00
Siva Annamalai
af4d246ef1 Cleanup options for use of application snapshots
- unified kAppAfterRun and kAppJITAfterRun to kAppJIT
 - adjusted the test configuration to make dart2app and dart2appjit to mean
   the same
 - delete GenerateFullSnapshot function as it is not used anymore

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2429023002 .
2016-10-19 17:42:01 -07:00
Florian Schneider
b85f900cb7 test.dart: Push all required files to Android device when running AOT tests
Some tests have resources in sub-directories (e.g. certificates/)

Remove status file lines for tests that are now passing.

Fixes #26376,#26377.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2434123002 .
2016-10-19 16:50:23 -07:00
Alan Knight
47150f50d5 Use dart:html prefixes (e.g. webkitAudioNode) on other browsers
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2431443002 .
2016-10-19 16:43:41 -07:00
Ryan Macnak
61bf8abd75 Make fatal out of memory messages uniform.
Add checks in a few more places with large allocations.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2418323002 .
2016-10-19 16:37:59 -07:00
Ryan Macnak
c9c33d9db3 Implement File::Map on Windows.
R=zra@google.com

Review URL: https://codereview.chromium.org/2430473002 .
2016-10-19 16:36:01 -07:00
Stephen Adams
50e557d176 Prevent inlining of js_library core.RegExp constructor
Inlining was achieving no beneficial effect.

- Enabled GVN of match start.
- Made string quote style uniform.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2437863002 .
2016-10-19 16:25:11 -07:00
Ryan Macnak
21a6f50892 Tearing off a top-level variable introduces a synthetic field which is added to the top-level class not but the library.
R=hausner@google.com

Review URL: https://codereview.chromium.org/2428353004 .
2016-10-19 15:34:25 -07:00
Matthias Hausner
f73ea62c99 Add check for constness in constructor redirection
Const constructor can only redirect to another const constructor.

BUG=#27617
R=regis@google.com

Review URL: https://codereview.chromium.org/2439593003 .
2016-10-19 15:15:02 -07:00
Zachary Anderson
16db33b7a2 Propagate errors correctly in Socket.connect
socket.port can throw an exception. The error from the
exception, if there is one, has to go to the completer,
not be thrown up the stack, otherwise it may go to the
enclosing Zone rather than e.g. a try ... catch around
await Socket.connetc().

This is a possible fix for the issue below, but it is
tough to say because I don't have a reliable repro.

related #27440

R=asiva@google.com

Review URL: https://codereview.chromium.org/2426413006 .
2016-10-19 15:12:59 -07:00
Zachary Anderson
9d29251368 Remove dependency on Fuchsia's runtime library.
This library is no longer publicly exposed. The only functionality used
by it is the utility function for printing mx errors, which has now
moved into the vDSO and is available in <magenta/status.h>.

R=zra@google.com, zra@chromium.org

Review URL: https://codereview.chromium.org/2428373005 .
2016-10-19 15:09:32 -07:00
Stephen Adams
3b5c154138 Don't gvn HForeignCode without source text
There are a few synthetic templates that are generated from trees instead of source text. I don't think any are marked for GVN, but this is a hazard so best fix it.

TBR=sigmund@google.com

BUG=

Review URL: https://codereview.chromium.org/2431103003 .
2016-10-19 14:46:54 -07:00
Brian Wilkerson
b3f66b03a1 Provide an extensible form of ToSourceVisitor (issue 27169)
R=matan@lurey.org

Review URL: https://codereview.chromium.org/2429243003 .
2016-10-19 14:31:21 -07:00
Paul Berry
84ec7f01c0 Make visibleLength/visibleOffset informative.
These summary fields are related to source offsets, so they are
affected by minute changes to the source code that don't affect its
API; therefore they should be marked as "@informative" so that they
don't appear in API summaries.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2432183003 .
2016-10-19 14:24:42 -07:00
Paul Berry
4729ba0055 In DeclarationResolver, handle generic function-typed parameters.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2441483002 .
2016-10-19 14:21:52 -07:00
Konstantin Shcheglov
bf43e4b43e Validate local resolution scope, and compute initial name scope.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2439583003 .
2016-10-19 14:08:46 -07:00
Stephen Adams
1e793c96b2 Properties of flattenString
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/2432993004 .
2016-10-19 13:53:46 -07:00
Paul Berry
148af481ff Fix DeclarationResolver handling of annotations containing closures.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2436733004 .
2016-10-19 13:23:11 -07:00
Paul Berry
d631a142a4 Create a README and pubspec for the front_end package.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2436733003 .
2016-10-19 12:14:38 -07:00
Paul Berry
4054d93fc9 Handle default formal parameters in LocalElementBuilder
Fixes #27615.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2437793002 .
2016-10-19 11:17:43 -07:00