Commit Graph

1343 Commits

Author SHA1 Message Date
Vijay Menon 338304a6c7 Fix DDC patch
TBR'ing to get build green.

TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2749703006 .
2017-03-15 09:23:49 -07:00
Jacob Richman 2ec1890ac4 Tweak location sdk summary is accessed from.
Bazel build rules now place the sdk summary in a different directory
than the summary root directory. Fix the ddc compiler running in the
browser to match.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2753723002 .
2017-03-14 17:41:50 -07:00
Vijay Menon ee6f460847 Fix equality invocation on native objects
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2754583002 .
2017-03-14 15:27:27 -07:00
Vijay Menon 6fb0258bf4 Support iife heuristic in DDC
This gives a noticeable 5-10% boost to startup on large internal apps
in Chrome.  We may want to consider for AMD at some point.  It doesn't
apply to es6 or common as those are top-level (and either the browser
or linker would hopefully parse accordingly).

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2753623002 .
2017-03-14 14:16:28 -07:00
Vijay Menon 6cf2ac1f62 Fix FF test status and re-enable
With sra's num parse fixes and couple more, FF should be green again (as well as Chrome Canary).

R=alanknight@google.com

Review-Url: https://codereview.chromium.org/2750503009 .
2017-03-14 09:28:10 -07:00
Vijay Menon f9cb23d2eb Fix DDC status, take 2
They *do* pass on Chrome 59.

TBR=sra@google.com

Review-Url: https://codereview.chromium.org/2749853002 .
2017-03-14 07:35:29 -07:00
Vijay Menon 9c1a75bf34 Fix DDC status
These tests appear to pass on FF, but fail on Chrome.

TBR=sra@google.com

Review-Url: https://codereview.chromium.org/2748133002 .
2017-03-14 07:28:58 -07:00
Vijay Menon 499a6633c6 Remove pubspec
This is breaking travis - maybe travis auto-runs pub get?

See:

https://travis-ci.org/dart-lang/sdk/jobs/210756646

TBR=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2750673003 .
2017-03-13 16:23:36 -07:00
Devon Carew b80390d0f5 Have dartdevc support --version.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2747743003 .
2017-03-13 16:10:21 -07:00
Jacob Richman c9675aeefb Do not return the JSON as an escaped String to work around a strange v8 bug.
This makes the source files a little easier to read anyway and the JSON
is not typically that nested so there should be a minimal statup performance hit.

Do not return the JSON as an escaped String to work around a strange v8 bug.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2747733003 .
2017-03-13 15:49:09 -07:00
Vijay Menon f331ecea20 Invoke native methods directly
In DDC, if the receiver is typed and the target method simply forwards to a JS call, invoke that call directly instead of via a symbol.

This is a step toward #28307.

Paul: can you look the the analyzer / summary code change?

dart:html uses "native".  other libraries (e.g., typed_data) use "external" for more or less the same thing.  The analyzer element model doesn't provide a way to test for "native" methods, but it does for "external".  I map native to external here.  Not sure if it's better to treat them as separate (I believe native predated external).  Longer term, it may make sense to try to remove "native" in favor of "external".

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

Review-Url: https://codereview.chromium.org/2748713002 .
2017-03-13 15:11:37 -07:00
Jacob Richman 1f38879094 Inline source maps as part of each script.
Unfortunately this is required as even with ideal caching, performing
XHRs to load all source maps increased load times by ~5 seconds for large
applications. Performance hit is now minimal.

BUG=

Review-Url: https://codereview.chromium.org/2747513003 .
Review-Url: https://codereview.chromium.org/2746033003 .
2017-03-13 10:46:02 -07:00
Vijay Menon 406a82723f Fix expectations
TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2744853002 .
2017-03-10 08:53:08 -08:00
Vijay Menon b4163fa8bb Fix test expectation
TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2739103003 .
2017-03-09 14:55:21 -08:00
Jacob Richman 7ba7e0cee6 Make all DDC internal stack traces apply source maps.
Make DDC a better platform for debugging by ensuring that stack traces
generated by DDC even when using the raw dart:core StackTrace class
apply JS source maps and benefit from the polish provided by the
stack_trace package.

stack_trace_mapper.dart needs to be compiled to js and included on your
page to benefit from this functionality. Otherwise you will still see
regular JS stack traces as usual.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2735303002 .
2017-03-08 19:13:00 -08:00
Vijay Menon 0c23c9229e Fix custom formatter setup, take 2
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2738103003 .
2017-03-08 19:08:11 -08:00
Vijay Menon 089d9c4afa Fix custom formatter setup
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2742653002 .
2017-03-08 18:58:07 -08:00
Vijay Menon 402e025c63 Add option to suppress type-check whitelisting
Run most tests without the whitelisting.

See #27223

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2739863003 .
2017-03-08 17:51:32 -08:00
Vijay Menon 01508dd2e2 Fix mocking on native classes
Fixes #28658

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2732413002 .
2017-03-07 15:32:54 -08:00
Vijay Menon f6e964fca9 Fix dangling ddc references in libraries.dart
Our internal tooling is complaining about this when building / checking the ddc sdk.  It appears to use the analyzer's summary builder tool which seems less forgiving about dangling references / missing files.

R=srawlins@google.com

Review-Url: https://codereview.chromium.org/2740573003 .
2017-03-07 15:27:46 -08:00
Vijay Menon d5372c79ae Bump timeout
This test seems to timeout often on travis lately.

TBR=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2731243003 .
2017-03-06 16:45:59 -08:00
Vijay Menon 2acb2eb669 Update for latest tests and sdk
TBR=leafp@google.com

Review-Url: https://codereview.chromium.org/2731333002 .
2017-03-06 09:36:14 -08:00
Jacob Richman a6a206062d Custom formatter cleanup Fix case where displaying a class constructor generated unreadable huge output. Fix case where exceptions were throw. Correct display of statics, fix indentation bugs. Add improved custom formatter test to main repro. As a drive by fix, switch hashCode to use a symbol instead of the name $identityHash as $identityHash was making custom formatter test output unstable.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2703263002 .
2017-02-28 17:47:53 -08:00
Jennifer Messerly fe294f3753 unfork DDC's copy of most SDK libraries
There's some changes in strong mode errors we may want to follow up on.

Unforks the following: async, collection, convert, core, developer, internal, io, isolate, math, mirrors.

Does not unfork: html, indexed_db, js, js_util, svg, typed_data, web_audio, web_gl, web_sql.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2698353003 .
2017-02-28 17:10:52 -08:00
Vijay Menon 53971cb67e Fix Function.apply
Fixes #27257.

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

Review-Url: https://codereview.chromium.org/2716583006 .
2017-02-24 19:24:48 -08:00
Leaf Petersen ef120f105f When metadata is not requested, elide signature information that is
not needed for dynamic checks (static fields/getters/setters and constructors).

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2711253004 .
2017-02-24 12:59:09 -08:00
Vijay Menon 4021fecb1a Streamline field symbol names
Original CL from Kasper. :-)

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2703373003 .
2017-02-23 14:11:21 -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
Vijay Menon 0c8704e1c7 Rerun format
Looks like I forgot to do this on my last cl.

TBR=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2709613003 .
2017-02-21 06:50:22 -08:00
Vijay Menon 1ec614fd7b Enable DDC output to run on v8/d8 using ES6 modules
Fixes #27309

V8 / D8 tip supports ES6 modules natively.  It's a little cumbersome
to set up, but hello world runs.  :-)

> ln -s $DDC_PATH/lib/js/es6/ddc_sdk.js ddc_sdk
> dart  $DDC_PATH/bin/dartdevc.dart --dart-sdk-summary $DDC_PATH/lib/sdk/ddc_sdk.sum --modules es6 -o hello hello.dart
> cat > run.js
import { hello } from 'hello';
hello.main();
> d8 --module run.js

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2701963002 .
2017-02-17 16:54:21 -08:00
Vijay Menon 5601a604f0 Cleanup proxy/defer code
This cleans up some issues I found when merging this internally.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2699943003 .
2017-02-17 08:12:03 -08:00
Vijay Menon e011ac789e Deferred parsing for legacy modules
This is a nice win for large, internal apps.  Module code is not parsed until accesses via proxy.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2697093002 .
2017-02-15 16:30:20 -08:00
Leaf Petersen fd6f2cc4cc Add generic types to Future.forEach in DDC sdk
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2696133005 .
2017-02-15 11:17:25 -08:00
vsmenon 6f748afa91 Update USAGE.md
Fixes #28677
2017-02-15 10:52:42 -08:00
Paul Berry 02ff6326d7 Remove unused TokenType.IS.
TokenType is used for symbols, not keywords.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2691043003 .
2017-02-13 11:17:02 -08:00
Vijay Menon 986a1c2775 keep null check on virtual field
We weren't correctly blocking the opt if the field was marked virtual

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2693593002 .
2017-02-10 16:00:13 -08:00
Ben Konyi 39f80e42e0 Corrected spelling mistake from "happend" to "happen" throughout multiple files.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2688943002 .
2017-02-10 12:52:42 -08:00
Vijay Menon 30c8ca6616 Use computeConstantValue instead of constantValue
Paul, you recommended that we switch to this a while back, but it got
lost in the shuffle.  I noticed we seem to drop some unneeded null
checks in generated code with this change.  :-)

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2684303002 .
2017-02-09 12:35:31 -08:00
William Hesse 72b58ee3b6 Fix corelib_strong/sort_test on dev_compiler
BUG=
R=jacobr@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2683583009 .
2017-02-08 23:06:52 +01:00
Vijay Menon b27e65d5d1 Unwrap type if needed on dcall
R=leafp@google.com

Review-Url: https://codereview.chromium.org/2672273004 .
2017-02-06 20:51:53 -08:00
Jennifer Messerly 5817ba47e2 fix #28642, handling of top and bottom types in DDC
in particular: void, Null, and combinations with FutureOr<T>

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2671113002 .
2017-02-06 14:56:10 -08:00
Leaf Petersen a3b4366f11 Infer Null for return type of functions with empty returns.
This allows inference to infer Null as the return type of functions
which have no return statements, or which return with no value.

Also allows inference to propagate Null.

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

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

Review-Url: https://codereview.chromium.org/2667343005 .
2017-02-06 12:24:39 -08:00
Jennifer Messerly ac85576979 fix #28630, instance method tear-offs are treated as strict arrows
R=leafp@google.com

Review-Url: https://codereview.chromium.org/2675963004 .
2017-02-03 13:21:20 -08:00
Jacob Richman a8c7e74424 Remove dynamic call from _LinkedHashSet. Remove some dcalls from the dart:html util library.
BUG=
R=alanknight@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2666053004 .
2017-02-01 13:26:41 -08:00
Leaf Petersen 3fa3964a70 Suppress NO_DEFAULT_BOUND errors.
This suppresses the emission of NO_DEFAULT_BOUND errors, and makes the
default instantation for recursive bounds backwards (and possibly
forwards) compatible.  Also adds a couple of currently failing tests
for cases that should be made erroneous regardless of whether we
choose to support malbounded type constructor applications.

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2662973005 .
2017-02-01 10:18:05 -08:00
Vijay Menon 5dffba506e Use bleeding edge analyzer to analyze DDC
Note, we were getting this from building the SDK from scratch, but we
can just call it directly. :-)

Travis try-run here:

https://travis-ci.org/dart-lang/sdk/builds/197045751

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2669623002 .
2017-01-31 12:05:37 -08:00
Vijay Menon c88a17ff55 Some test cleanup
These tests occasionally time out on travis.  uri_test as well, but
there are two tests with that name, so I added code to disambiguate in
the logs.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2666593002 .
2017-01-31 10:23:26 -08:00
Vijay Menon d5e5feb686 Shut up bad analyzer warning
This is a workaround for #28507

TBR=leafp@google.com

Review-Url: https://codereview.chromium.org/2667753003 .
2017-01-31 10:08:47 -08:00
Conor Reisman 80066aa2d6 Fix typo in StreamSink.close documentation (#28572)
provding -> providing.
2017-01-31 04:11:38 -08:00
Jacob Richman f6151f902e Fix dynamic calls on JS interop classes.
BUG=

Review-Url: https://codereview.chromium.org/2668543002 .
2017-01-30 14:19:07 -08:00