Commit graph

33058 commits

Author SHA1 Message Date
Daniel Andersson e7fb1c8516 Compatible atomics: volatile for LoadRelaxed, replace FetchAndAdd with FetchAndDecrement.
Using volatile on a word size location will generate a single move instruction without order guarantees and is supported on all compilers.

Replace FetchAndAdd with FetchAndDecrement, since the latter is sufficient and eaiser to implement portably (in particular on some Windows setups).

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

Review URL: https://codereview.chromium.org//1287853005 .
2015-08-13 09:21:38 -07:00
Asger Feldthaus 0210c5c035 dart2js cps: Fix treatment of captured type variables.
CLOSES=24064
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1286113003.
2015-08-13 13:35:50 +02:00
Florian Loitsch f2d08149fd Don't delay values and errors from async/await functions.
Fixes issue 23497.

R=hausner@google.com

Review URL: https://codereview.chromium.org//1287673002 .
2015-08-13 13:00:11 +02:00
Florian Loitsch ad38b75bb2 Forward cancel subscription in stream pipes.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1284223005 .
2015-08-13 12:57:35 +02:00
Lasse R.H. Nielsen 3134338fce Remove SDK constraint from package_test_data package.
R=whesse@google.com

Review URL: https://codereview.chromium.org//1291983002 .
2015-08-13 12:09:49 +02:00
Florian Schneider 00326794d8 VM: Remove obsolete workaround for a GC issue in the deoptimization stub.
This was part of a temporary fix for issue dartbug.com/14790.
(https://codereview.chromium.org//59073012), but does not seem
necessary: Stub frames are now like regular Dart frames (with a 0 PC marker).

Follow-up fixes for issue 14790 for reference:
https://codereview.chromium.org/63093003/
https://codereview.chromium.org/62953014/

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org//1279713002 .
2015-08-13 11:26:59 +02:00
Asger Feldthaus 75b6bd1e0f dart2js cps: Type a list literal as extendable, not just mutable.
This would prevent rewriting into .push and .pop.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1286193003.
2015-08-13 10:48:40 +02:00
Anders Johnsen 54b7e9fec4 Fix arguments passed to FileSystemException from _socketType, when failing to resolve the type.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1293433003 .
2015-08-13 09:32:26 +02:00
John McCutchan 3dd39ef37c Fix cpu profile table
- Add back deleted call to buildFunctionCallerAndCallees
- Pass in caller count and not callee count (copy and paste bug)
- Add to isolate drop down

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1288853002 .
2015-08-12 17:38:34 -07:00
Adam Barth d6ff3530c7 Fix the Mac build
TBR=asiva@google.com

Review URL: https://codereview.chromium.org//1287883004 .
2015-08-12 16:54:12 -07:00
Adam Barth bc88578fe1 Add Dart_ListGetRange
This API lets you get multiple values out of a list at once, saving overhead.

R=asiva@google.com

Review URL: https://codereview.chromium.org//1284633004 .
2015-08-12 16:46:38 -07:00
John McCutchan cacacfa645 Hide empty CPU profile on class page
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1290023002 .
2015-08-12 16:39:23 -07:00
Harry Terkelsen 44f890b3c8 dart2js: don't add a trailing slash when reading --packages
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1290903002.
2015-08-12 16:28:47 -07:00
John McCutchan 2ecf40450c Make function-ref only show a link for Dart functions
BUG=

Review URL: https://codereview.chromium.org//1289803007 .
2015-08-12 16:13:26 -07:00
John McCutchan 7af879a084 Fix time span in profiler
BUG=

Review URL: https://codereview.chromium.org//1287033006 .
2015-08-12 16:03:27 -07:00
John McCutchan 8e91f1a7c3 Fix heap map
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1291873002 .
2015-08-12 15:31:17 -07:00
John McCutchan f9944c1c4c Synchronize isolate dropdown with isolate summary
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1285143004 .
2015-08-12 15:21:06 -07:00
Ryan Macnak 82b4f03dec Fix overly-strict parameter checking of _getCallSiteData.
Ensure padding between columns in allocation profile.

Desaturate the red used for methods with optimization issues.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1287043007 .
2015-08-12 15:20:46 -07:00
John McCutchan 10de20f230 Remove load graph from isolate
BUG=

Review URL: https://codereview.chromium.org//1290643005 .
2015-08-12 15:13:11 -07:00
John McCutchan 0ae89cf980 Fix MacOS build
BUG=

Review URL: https://codereview.chromium.org//1286093005 .
2015-08-12 15:01:21 -07:00
Paul Berry 94471ea0a3 Fix task dependency graph computation.
Previously, when analyzing the analyzer for task dependency graph
computation, we failed to canonicalize Source URIs into "package:"
URIs.  As a result, we failed to properly connect the classes
representing individual classes with the base class AnalysisTask, so
we couldn't find any task classes and produced an empty graph.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1287003006 .
2015-08-12 14:46:32 -07:00
Konstantin Shcheglov 7ab954efb5 Remove debug output in getNavigation().
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1288163003 .
2015-08-12 14:02:07 -07:00
John McCutchan 4511599443 Start TimelineAnalysis utility
- Add TimelineEventBlockIterator - iterate over TimelineEventBlocks.
- Add TimelineAnalysisThread - All events for a specific thread.
- Add TimelineAnalysis - Utility for analyzing timeline events.
- Add unit test for TimelineAnalysis thread discovery and block sorting.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1284263002 .
2015-08-12 13:31:31 -07:00
Ryan Macnak 919f79e044 Fix links to script + line.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1286943005 .
2015-08-12 12:42:52 -07:00
Ryan Macnak 62dbce8555 Make declaration annotations direct links; update annotations after the library's declarations are fully loaded.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1289913002 .
2015-08-12 12:37:11 -07:00
Ryan Macnak 5979d9341e Demangle library names in the service protocol.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1290563003 .
2015-08-12 12:31:08 -07:00
John McCutchan d0f216eb30 Suppress stream subscription error
- Hides a scary exception popup in the debugger in Dartium (where stdout and stderr streams are not available).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1289923002 .
2015-08-12 11:11:15 -07:00
Daniel Andersson 723aa4d555 Don't crash on SIGPROF from foreign sources.
Add NULL check to handle the case when SIGPROF is received before the Thread TLS has been initialized.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1284223003 .
2015-08-12 08:49:02 -07:00
Daniel Andersson 2ae8544e8d Restore frame validation (fixes to CL faaf60801f).
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1280013004 .
2015-08-12 08:47:54 -07:00
Asger Feldthaus da68a812c2 dart2js cps: Rewrite more List operations into JS array operations.
- add and removeLast become push and pop.
- addAll with a literal list becomes push with multiple arguments.
- Concecutive push calls are merged.
- elementAt() recognized as a synonym for [] (on lists).

BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1285173002.
2015-08-12 16:34:07 +02:00
Florian Loitsch a9f2dfde26 dart2js: Better comment for startup-emitter.
R=herhut@google.com

Review URL: https://codereview.chromium.org//1262833003 .
2015-08-12 15:19:40 +02:00
Stan Manilov ac8a228d0b sdk/dart now detects an available build
The shell scripts in sdk/sdk are using ReleaseIA32 as the default build
configuration in the case one is not provided as an environment
variable. This is arbitrary so a check of the available builds is
performed and if ReleaseIA32 is available it is selected. Otherwise, an
arbitrary configuration is selected (currently the last one
lexicographically). In the case where there are no subfolders in the
"out" folder, ReleaseIA32 is selected, in order to produce the same
error that used to be produced before (this can be changed to a custom
message for user-friendliness).

Currently only the "dart" shell script is changed and if the change is
accepted, the others will be changed too.

R=floitsch@google.com, zerny@google.com

Review URL: https://codereview.chromium.org//1276333002 .
2015-08-12 15:19:23 +02:00
Lasse R.H. Nielsen 67ff13a437 Add StreamController getters to changelog.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1289813002 .
2015-08-12 14:26:37 +02:00
Asger Feldthaus 703e968620 dart2js cps: Improve rewriting of == to identical.
We now rewrite `x == y` if x is known to have a == implementation that
corresponds to identical(). Previously it would only do this when x was
num, string, or bool.

BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1286993003.
2015-08-12 13:13:47 +02:00
Johnni Winther 930bc75c0d Move diagnostic_listener.dart and messages.dart to the diagnostics folder
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1286143003.
2015-08-12 12:05:36 +02:00
Stephan Herhut 4ad2092516 dart2js: Also trace instances of Function as closures.
R=floitsch@google.com
BUG= http://dartbug.com/23873

Committed: 0973b09aa0

Reverted: 47125dd0ad

Review URL: https://codereview.chromium.org//1284463003 .
2015-08-12 11:38:03 +02:00
Lasse R.H. Nielsen edff0face7 Make String.allMatches lazy.
R=floitsch@google.com, iposva@google.com

Review URL: https://codereview.chromium.org//1273713003 .
2015-08-12 11:01:21 +02:00
Florian Schneider b19d518ede VM: Use const instead of final for constants in runtime libraries.
It does not make a difference for optimized code (final does not help in
optimized code either btw), but allows using those constants directly in
unoptimized code.

BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1284873002 .
2015-08-12 09:40:22 +02:00
Johnni Winther a7c720f61b Remove dart2jslib.dart
dart2jslib.dart is deleted
compiler.dart is a library containing mainly Compiler
other parts of compiler.dart move according to the listing in https://codereview.chromium.org/1280343002/

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1284593003.
2015-08-12 08:42:46 +02:00
Ivan Posva 9cb6680e54 Allow simulator runs on Windows:
- Fix HOST_ARCH_ vs TARGET_ARCH_ confusion.

BUG=
R=koda@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//1290613002 .
2015-08-11 17:59:47 -07:00
Srdjan Mitrovic 30d68644a1 Enable analyzer tests after fixing them for analysis
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1289713002 .
2015-08-11 17:43:13 -07:00
Sigmund Cherem f95dd37d1a dart2js: add simple script to compute dependency queries. Currently only
one query is supported "some_path", which gives you a way to determine how a
function is included in the program. For example, running:

  dart code_deps.dart angular2_hello.js.info.json some_path main Compiler

would produce this output:

  source: examples.src.hello_world.index...main
  target: angular2.src.core.compiler.compiler...Compiler.Compiler
  result:
    0. examples.src.hello_world.index...main
    1. examples.src.gestures.index.ng_deps.dart...initReflector
    2. angular2.bootstrap_static.ng_deps.dart...initReflector
    3. angular2.application_static.ng_deps.dart...initReflector
    4. angular2.src.core.application_common.ng_deps.dart...initReflector
    5. angular2.src.core.compiler.compiler.ng_deps.dart...initReflector
    6. angular2.src.core.compiler.compiler...Compiler.Compiler

The tool accepts regular expressions to match the name of the elements.
The graph and util library will be used for other scripts as well.

R=het@google.com

Review URL: https://codereview.chromium.org//1284843002 .
2015-08-11 17:12:45 -07:00
Srdjan Mitrovic 532474ab35 Fix analyzer tests
BUG=

Review URL: https://codereview.chromium.org//1291583002 .
2015-08-11 16:43:51 -07:00
Srdjan Mitrovic c06e66c9b9 Fix test breakage in checked mode
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1291563002 .
2015-08-11 16:16:11 -07:00
Daniel Andersson c756f9dade Fix android DEBUG build.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1285993002 .
2015-08-11 16:07:57 -07:00
Paul Berry 480cd7fdc8 Pull in analyzer_cli fix for the case where "pub list-package-dirs" fails.
TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1291553002 .
2015-08-11 15:45:13 -07:00
Sigmund Cherem 571c1d5b6e dart2js: add an example script that shows the distribution of code among
libraries.

For example, running this on the dump-info of angular2 'hello
world' would produce:

  path             8807   1.21%
  stack_trace     11501   1.59%
  intl            14135   1.95%
  Loose files    142311  19.62%
  angular2       224171  30.90%
  Core libs      225120  31.03%
  All packages   258614  35.65%
  TOTAL          626045  86.30%

Note that the grouping of libraries, say by package, and summary information is
configurable.

R=het@google.com

Review URL: https://codereview.chromium.org//1287543002 .
2015-08-11 14:59:59 -07:00
Srdjan Mitrovic 56c91201c3 Fix issue 24043: do not trust the pattern. Enable a 'hidden' test.
If there is a performance issues, I can add specialized code for String patterns.

BUG=24043
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1286823003 .
2015-08-11 14:46:17 -07:00
Daniel Andersson 902c00a789 Actually skip StackLimitInterrupts.
BUG=https://github.com/dart-lang/sdk/issues/24049
R=iposva@google.com

Review URL: https://codereview.chromium.org//1286823002 .
2015-08-11 14:42:30 -07:00
Todd Turnidge fbe47ffa53 Minor observatory test cleanups.
- Remove --compile-all from a couple of tests.
- Use debugger() instead of busy-waiting in a couple of tests.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1278803005 .
2015-08-11 14:31:21 -07:00