Commit graph

31418 commits

Author SHA1 Message Date
hausner@google.com feae1f7b82 Compute accurate token count when loading from snapshot
With --compiler-stats, traverse heap at isolate shutdown to
find all token streams and compute the number of tokens in
the stream. This fixes incorrect token counts when loading
from snapshot.

R=asiva@google.com

Review URL: https://codereview.chromium.org//1131493007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45806 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 00:11:01 +00:00
brianwilkerson@google.com 0bf3812043 Fix exception in code completion (issue 23439)
R=danrubel@google.com

Review URL: https://codereview.chromium.org//1138963005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45805 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 00:00:59 +00:00
asiva@google.com 35cbf31ca1 Instead of aborting in Builtin::LoadAndCheckLibrary let the caller handle the error condition accordingly.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1126233009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45804 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 23:27:58 +00:00
nweiz@google.com ee60510cac Fix VersionSelection.getDependenciesOn.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1130263003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45803 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 23:19:10 +00:00
johnmccutchan@google.com 3f694c96ba Attempt to fix Windows Dartium #2
BUG=

Review URL: https://codereview.chromium.org//1129903007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45802 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:47:21 +00:00
scheglov@google.com 3ffb42cd22 Sort enum declarations.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//1136413003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45801 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:42:16 +00:00
paulberry@google.com 955a7c53a3 Modify WorkOrder to use a dependency walking algorithm that handles cycles.
There is no functional change in the behavior of the WorkOrder class;
if a cycle is found, we still set the ".exception" field in all the
work items involved in the cycle.

In a follow-up CL I will add the ability to override this behavior
when computing constant values.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1144563003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45800 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:38:26 +00:00
nweiz@google.com 1acd46fe74 Rewrite pub's version solver.
The idea of this change is to eagerly check, before selecting a package version,
whether that version is compatible with the existing dependencies. This avoids a
bunch of unnecessary backtracking, and makes the progression of the solver more
comprehensible when

R=rnystrom@google.com
BUG= dartbug.com/17429

Review URL: https://codereview.chromium.org//1140083005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45799 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:33:31 +00:00
johnmccutchan@google.com 282fab7f41 Move stack walker construction outside of SEH try block
- Attempt to fix Dartium Windows build.

Review URL: https://codereview.chromium.org//1146433005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45798 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:22:59 +00:00
scheglov@google.com dd451d1424 Move DartWorkManager notification to _sourceChanged().
This fixes scheduling analysis after overlay changes.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1126233008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45797 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 21:51:38 +00:00
asiva@google.com 05d7eb5dfa Move symbol table from per isolate snapshot to vm isolate snapshot, this reduces the per isolate initial heap size
from New space (0k of 1024k) Old space (1274k of 1536k)
to New space (0k of 1024k) Old space (756k of 1280k)

R=hausner@google.com

Review URL: https://codereview.chromium.org//1123813002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45795 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 20:14:37 +00:00
paulberry@google.com 80e7ee46a6 In the new task model, use explicit dependencies on the type provider.
Previously, some of the tasks got the type provider from the context,
which meant we were at risk of invoking the task manager reentrantly
(which might have broken some task manager assumptions and potentially
degraded responsiveness).  With this CL, all tasks that need the type
provider get it using an explicit input.

Assertions are added so that if we accidentally introduce future code
paths that invoke the task manager in a reentrant fashion, we will see
the problem during unit tests.

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

Review URL: https://codereview.chromium.org//1124003007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45794 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 19:49:32 +00:00
scheglov@google.com 4b942318c9 Don't invalidate dependent results when set values.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1133863006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45793 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 19:45:39 +00:00
turnidge@google.com 2757d6e686 Rework error handling in the service protocol and in Observatory.
In JSON RPC, error results and regular results are distinguished structurally.  We now do this in the service protocol instead of returning a regular result with the "Error" type.

VM:

- Add PrintError method to JSONStream.  Use this to generate all errors in the service protocol.

- Fix some bugs with "limit" parameter handling.

- Change return value for heap rpcs when they find a collected/expired reference.

- Update tests.

Observatory:

- Add app.handleExceptions -- this is a widely-used exception handler that puts up a notification when there is an uncaught/unexpected exception.  Added a top-level zone catch that uses this handler, as well as explicit uses of this handler at various points in the code.  Most pages use this implicitly or explictly, except for the debugger page, which displays exceptions in the console.

[ General rule, when a function returns a Future, generally let the error pass through.  If a function does async work but doesn't return the Future, then it should handle errors explicitly by calling app.handleExceptions, etc. ]

- Fixed notifications.  They were generally broken.  Some hard-coded type names needed to be fixed, some hacks needed to be removed.

- Add a new class RpcException and a variety of subclasses which capture the error cases when making an rpc.

- Redo refresh buttons so their callbacks return Futures instead of taking a "done" closure.  Cleaner.  Allows us to move error handling outside of the callback.

- Drop ServiceError, ServiceException and the associated views.

- Redo notifications so that event and exception notifications are supported.

- No longer null out the vm when it is disconnected.

- Remove notifications when we visit the vm-connect page.  Only show the "Proceeding will lose current page" dialog when we aren't on the vm-connect page already.

- Improve error message on cpu profile page when profiling is disabled on the VM.

- Allow variables to wrap on debugger page.

- Make eval-box and eval-link tolerant of errors during rpc.  Make the errors display nicely.

- When a breakpoint is marked "not possible", make sure it disappears.  This got broken during script view refactor.

- Drop vm's errors and exceptions streams.  No longer needed.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1120133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45792 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 19:34:37 +00:00
alanknight@google.com e1c798b0fd "Reverting 45790"
BUG=

Review URL: https://codereview.chromium.org//1138383006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45791 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 19:04:23 +00:00
alanknight@google.com 9453809937 appendHtml and insertAdjacentHtml should be consistently sanitized
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org//1081973003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45790 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 18:04:17 +00:00
koda@google.com 59f829484c Skip verbose_gc_to_bmu_test on Dartium etc.
TBR=iposva@google.com

Review URL: https://codereview.chromium.org//1133863005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45789 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 17:44:12 +00:00
asiva@google.com 6f2330f004 Use regular sources to load dart:io and builtin library instead of linking in the standalone dart snapshot for accessing these. This ensures that we can use the regular dartium snapshot to create the vmservice isolate.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1127173004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45788 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 17:40:09 +00:00
koda@google.com 9b4219332b Tool to compute BMU plots from GC logs.
R=iposva@google.com

Review URL: https://codereview.chromium.org//1133243004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45786 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 16:42:53 +00:00
scheglov@google.com 47534318f6 Fix for invalidating results of a target being removed.
Tweaks for tests.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1140943005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45785 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 14:33:08 +00:00
johnmccutchan@google.com f01c1490f7 Revert 45783
BUG=

Review URL: https://codereview.chromium.org//1138993005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45784 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 00:32:32 +00:00
johnmccutchan@google.com 95515238cc Move 'dart:profiler' contents into 'dart:developer' and remove 'dart:profiler'
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1139503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45783 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 23:48:04 +00:00
sra@google.com 28cfbd8f44 Make more use of ArgumentError.value in js_lib.
This helps surface error values in the messages which helps make captured errors understandable.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1137233004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45782 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 22:16:50 +00:00
rmacnak@google.com 69eea9a3c4 Add annotations for field and class declarations.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1133473007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45781 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 21:06:42 +00:00
scheglov@google.com 9baa563923 Fix for using the deprecated AnalysisError constructor.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1131383003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45780 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:52:33 +00:00
floitsch@google.com f8c3219190 dart2js: Remove isD8 and isJsShell functions.
These functions were used to detect d8 and jsshell. They are not used anymore because of preamble files.

R=sra@google.com

Review URL: https://codereview.chromium.org//1132923002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45779 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:51:40 +00:00
scheglov@google.com 6c66bbac50 Return empty contents for not existing sources.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1127403004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45778 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:51:04 +00:00
paulberry@google.com 13af577c37 Rename CONSTANT_RESOLVED_UNIT to RESOLVED_UNIT.
And move the old RESOLVED_UNIT out of the public API and rename it to
RESOLVED_UNIT6.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1138853002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45777 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:41:10 +00:00
rmacnak@google.com 848ad67ee1 Revert "Delta encode pc descriptors."
32% regression on dart2js. Edge counters need to be redone first.

Review URL: https://codereview.chromium.org//1136953015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45776 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:24:47 +00:00
brianwilkerson@google.com e73c0efc45 Fix server error messages
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1141773002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45775 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:05:45 +00:00
het@google.com 4c687fafdf Update Angular to 390cfb793b2cd351d2db609d088a8fdda3df4f24
R=ricow@google.com

Review URL: https://codereview.chromium.org//1132853006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45774 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:00:30 +00:00
alanknight@google.com 6583ec4887 Safari suppressions
BUG=

Review URL: https://codereview.chromium.org//1129263004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45773 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 19:54:32 +00:00
scheglov@google.com d9555d7005 Fix for creating the correct SdkAnalysisContext.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1139463003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45772 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 19:45:51 +00:00
johnmccutchan@google.com 84b615d4fc Use Structured Exception Handler on Windows to gracefully handle guard page faults
- set profile_vm flag to be true by default to make sure crashes on bots are taken care of.

R=koda@google.com

Review URL: https://codereview.chromium.org//1131233005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45771 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 19:36:53 +00:00
alanknight@google.com 380e195ba1 Carefully suppress remaining IE and safari mobile sim failures
BUG=

Review URL: https://codereview.chromium.org//1137343002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45769 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 17:36:34 +00:00
ricow@google.com 4cc976b682 Add tools/testing/bin to the tarball created by the cross compiler
We no longer have these files in the main repo

BUG=

Review URL: https://codereview.chromium.org//1137623004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45768 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 17:31:54 +00:00
kevmoo@google.com 84526cf02c ignore the downloaded test bins
R=ricow@google.com

Review URL: https://codereview.chromium.org//1133843005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45767 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 17:11:20 +00:00
scheglov@google.com 9741a34885 Move getErrors() to DartWorkManager, report errors in ChangeNotice(s).
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1134873003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45766 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 16:28:20 +00:00
scheglov@google.com 6e25226a0d Issue 23444. Use ConstructorMember(s) for super constructor fixes.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23444

Review URL: https://codereview.chromium.org//1140963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45765 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 16:13:09 +00:00
kevmoo@google.com 3c9dbbb49a homebrew: use exec to run shimmed command
R=whesse@google.com

Review URL: https://codereview.chromium.org//1133383002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45764 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 14:38:04 +00:00
karlklose@google.com 9b32c9e673 Implement raw list checks.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1123343008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45762 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 11:58:45 +00:00
karlklose@google.com 898138ad0a Remove return that was reported as a dead-code when running build.py.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1133393002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45759 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 08:09:53 +00:00
floitsch@google.com 5c80ac5f40 Clean status files.
When I moved the deferred_in_isolte test, I didn't move the status-file updates.

R=karlklose@google.com

Review URL: https://codereview.chromium.org//1134243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45758 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 06:36:56 +00:00
floitsch@google.com 52e228e0f3 dart2js: remove bad assumptions in js_helper library.
Cleans up some code.

Review URL: https://codereview.chromium.org//1135353002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45757 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 06:35:45 +00:00
alanknight@google.com db8c4efadf Don't put syntax errors in test status files
BUG=

Review URL: https://codereview.chromium.org//1123313005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45756 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 01:27:23 +00:00
alanknight@google.com e8cdb495bc Even more tweaking of IE suppressions
BUG=

Review URL: https://codereview.chromium.org//1135853005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45755 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 00:31:39 +00:00
johnmccutchan@google.com f4c3119a2e Add Service ID zones to service protocol
- Add ServiceIdZone interface for getting temporary ids.
- Add RingServiceIdZone which uses the isolate's object id ring.
- Add GrowableServiceIdZone which uses a growable array.
- Unit tests for ServiceIdZones.
- JSONStream has a service id zone.
- Default service id zone is ring with eager id allocation.
- All service RPCs can include a _serviceIdZone parameter.
- Value of _serviceIdZone can be Ring.NewId or Ring.ExistingId.
- All ObjectIdRing usage in object.cc has been replaced with `jsobj.AddServiceId("id", *this);`
- Add a policy for id reuse to ObjectIdRing::GetIdForObject
- ObjectIdRing can dump its contents to JSON.
- Add _dumpRingRequests RPC which dumps the isolate's ring.
- _getCrashDump includes complete object id ring.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1132323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45754 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 23:48:01 +00:00
sra@google.com afbb537add Better toString and Error.toSafeString output for closures for dart2js.
Closures that appear in error messages, especially NoSuchMethodError, need to identify the function so that captured error messages and stack traces are useful.

Old:
  1. Instance of 'Object'
  2. Instance of 'Object'
  3. Instance of 'anonymous'
  4. Instance of 'anonymous'
  5. Instance of 'main_localFunction'

New:
  1. Closure 'print'
  2. Closure 'Widget_staticMethod'
  3. Closure 'foo' of Instance of 'Widget'
  4. Closure 'remainder' of 1234
  5. Closure 'main_localFunction'

In minified code the names are (usually) minified. Being able to unminify them later is separate issue.
This CL makes NoSuchMethodError variants more uniform in quoting of method to assist unminifying the message.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1138313002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45753 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 23:47:23 +00:00
floitsch@google.com d22c29b57b dart2js: keep track of non-final static fields.
Dart2js used to just emit static non-final fields, even if they were not referenced.
This is bad, because in some cases it referenced a constant that didn't exist (was tree-shaken away). In the old emitter this just became a reference to a non-existing property, but in the new emitter it crashed.

This CL also fixes (partially) static non-final fields for the lazy emitter.

R=sra@google.com

Review URL: https://codereview.chromium.org//1132363003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45752 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 23:34:42 +00:00
hausner@google.com 9db5059098 Fix CompilerStats info
Move the counters and timers into the isolate. Statically allocated data
does not work anymore now that we always have multiple isolates.

Remove unused counters, add some counters to measure size of compiled code
and meta info.

R=asiva@google.com

Review URL: https://codereview.chromium.org//1127383008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45751 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 23:03:48 +00:00