koda@google.com
c026736cff
Fix race in debug assertion.
...
Change order of initialization for the two-way pointers between Isolate and Thread.
This only affects the debug assertion in Isolate::mutator_thread().
R=iposva@google.com
Review URL: https://codereview.chromium.org//1138643006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45814 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 16:28:26 +00:00
koda@google.com
0e04456696
Remove fake isolate from concurrent sweeper and extend lifetime of VM threads.
...
* Use real isolate in concurrent sweeper rather than shallow copy.
The only part of the isolate, other than the page being swept, used by the sweeper is the class table (via RawObject::Size), which is now safe to read concurrently (copy-on-write).
* Do not eagerly destroy a VM thread whenever it exits an isolate.
This extends the lifetime of a VM thread across entering/exiting multiple isolates. This is necessary in case an embedder callback executes during
compilation and switches/spawns isolates.
For embedder threads, since there is no API to signal "I'm done using the VM in this thread", this means we leak the (small) Thread structure.
For our own ThreadPool threads, we explicitly clean up.
BUG=23153
R=iposva@google.com
Review URL: https://codereview.chromium.org//1136143003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45810 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 12:48:49 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
srdjan@google.com
365c48ab92
Forgot to remove a dead flag.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1131313004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45744 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 18:59:13 +00:00
asiva@google.com
c363448f55
Fix build bot failures.
...
Review URL: https://codereview.chromium.org//1128333005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45743 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 18:55:43 +00:00
asiva@google.com
579fc0fd2e
Some more cleanup of the finger print checking code.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1136163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45742 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 18:14:18 +00:00
asgerf@google.com
f5f1eb643d
dart2js cps: Introduce GetStatic/SetStatic.
...
The GetStatic is used for reading static fields and tearing off
static methods.
Invoking a static getter/setter (not from a field) is still an
InvokeStatic, which IMO is the way it should remain.
BUG=
R=karlklose@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45735
Reverted: https://code.google.com/p/dart/source/detail?r=45737
Review URL: https://codereview.chromium.org//1134063002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45738 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 14:19:40 +00:00
asgerf@google.com
961c805398
Revert "dart2js cps: Introduce GetStatic/SetStatic."
...
This reverts commit 28e4518df87c72cb8e23fe6d73b7750ad0f2183a.
TBR=karlklose@google.com
BUG=
Review URL: https://codereview.chromium.org//1136523008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45737 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 13:53:15 +00:00
asgerf@google.com
2c90643171
dart2js cps: Introduce GetStatic/SetStatic.
...
The GetStatic is used for reading static fields and tearing off
static methods.
Invoking a static getter/setter (not from a field) is still an
InvokeStatic, which IMO is the way it should remain.
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1134063002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45735 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 13:35:49 +00:00
lrn@google.com
5351182e38
Add Map.unmodifiable constructor.
...
R=sgjesse@google.com , sra@google.com
Review URL: https://codereview.chromium.org//1127533002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45733 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 11:09:13 +00:00
johnmccutchan@google.com
8c10ef0558
Show tooltip with local variable value in Observatory debugger
...
- Add LocalVariableAnnotation to script-inset
- Tweak shortName for a closure
- Teach Script how to find local variable locations (not perfect yet)
- Send tokenPos and endTokenPos for debugger local variables
Performance improvements:
- Reduced script-inset update/computeAnnotations calls from 5 to 1 for each stack frame that is opened
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1126363005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45725 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 02:41:43 +00:00
iposva@google.com
d0763f97f3
- Add --trace-loading to trace resolution and loading.
...
- Remove unused --print-script option.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1138083003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45720 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 22:58:32 +00:00
rmacnak@google.com
ab784887a7
Delta encode pc descriptors.
...
328.3kB -> 160.1kB (-51.2%) for mirrors_reader_test
R=fschneider@google.com
Review URL: https://codereview.chromium.org//1129113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45715 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 20:27:21 +00:00
asiva@google.com
8f9eee3f22
- Use conditional code inclusion for the dart_no_snapshot and dart executables using the MACRO DART_NO_SNAPSHOT
...
- Do some minor modifications to the intrinsifier code to not do redundant fingerprint checks and avoid code duplication.
These changes result in a text segment size savings of about 110k.
Old Sizes:
text data bss dec hex filename
3801418 7696 19261 3828375 3a6a97 (TOTALS)
New sizes:
text data bss dec hex filename
3690342 7696 19261 3717299 38b8b3 (TOTALS)
Review URL: https://codereview.chromium.org//1134623004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45704 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 18:31:55 +00:00
iposva@google.com
f469f59b60
Reland r45669:
...
- Refactor builtin.dart before any further work in this file.
Change to original submission is to not doubly sanitize the
Windows path when setting the working directory.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1127343004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45703 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 18:23:20 +00:00
karlklose@google.com
0eaa4d4717
cps-ir: Support compilation of methods that use interceptor calling convention.
...
This is a modified version of sra@'s CL https://codereview.chromium.org/1020243002/ with kmillikin@'s comments addressed.
R=sigurdm@google.com , kmillikin@google.com
Review URL: https://codereview.chromium.org//1109403002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45680 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 12:38:14 +00:00
iposva@google.com
16a29667dd
- Revert r45669 to address Windows issues.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//1130003004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45672 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-09 00:59:00 +00:00
iposva@google.com
7f5cdff385
- Refactor builtin.dart before any further work in this file.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//1137853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45669 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 23:58:01 +00:00
rmacnak@google.com
aba09abcb5
Update debugger_inspect_test for move to top-level method.
...
TBR=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1133713004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45667 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 23:10:22 +00:00
koda@google.com
2c4dfb60c8
Don't attempt to walk the native stack by default.
...
This was unintentially enabled by default as a consequence of
https://codereview.chromium.org/1104323003/
BUG=23368
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1130253005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45666 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:34:17 +00:00
rmacnak@google.com
016214f002
Add Debugger.inspect. 1976 here we come!
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1132153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45664 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:18:43 +00:00
johnmccutchan@google.com
1f851efdbb
Rename 'dart:debugger' to 'dart:developer'
...
- Rename 'dart:debugger' to 'dart:developer'
- Make 'breakHere' and 'breakHereIf' top level functions.
R=iposva@google.com
Review URL: https://codereview.chromium.org//1132113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45658 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 21:24:57 +00:00
rmacnak@google.com
7be0dddfca
Remove dead --use_jscre flag.
...
Review URL: https://codereview.chromium.org//1135833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45655 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 20:31:37 +00:00
rmacnak@google.com
d36add736d
Make copying from script insets omit line numbers and breakpoint indicators.
...
Review URL: https://codereview.chromium.org//1137523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45652 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 19:58:29 +00:00
srdjan@google.com
cae3b352a5
Fix occasional assert failure when disassembling: move assert to proper place.
...
Review URL: https://codereview.chromium.org//1133833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45649 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 17:08:46 +00:00
srdjan@google.com
3ac643115f
Remove unneeded flag declaratiosn (enable_type_checks, enable_asserts).
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1133793002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45647 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 16:48:43 +00:00
srdjan@google.com
4cce388543
Add flag --support_debugger, controls emitting single stepping checks. Disable in --noopt, 6% gain.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//1127523004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45641 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 10:33:12 +00:00
srdjan@google.com
c969e016f3
After sudying IrregExp compilation, it seems too complicated to do lazy local var descriptors for those. The amount of eagerly generated descriptors is small enough that it IMO does not warrant the additional complexity. Cleaned up, removed the flag.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1130973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45631 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 07:04:21 +00:00
srdjan@google.com
e47ecf48c0
Eagerly create local var descriptors for artificially created methods (they cannot be regularly parsed).
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1133633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45606 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 19:04:28 +00:00
johnmccutchan@google.com
655545c881
Only add -lrt on Linux, not on Mac
...
BUG=
Review URL: https://codereview.chromium.org//1127273008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45603 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 17:40:01 +00:00
asiva@google.com
b5336c5726
Unify processing of Keywords and predefined symbols in the same loop and add accessors for keyword symbol handles.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1130843002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45602 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 17:28:02 +00:00
regis@google.com
52b19e2b14
Make sure the bound of a mixin type parameter is finalized before instantiating
...
it during finalization (fix issue 23385).
Print more info in ToCString() for an unresolved type.
Review URL: https://codereview.chromium.org//1124253004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45598 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 16:08:11 +00:00
johnmccutchan@google.com
95064c2d0d
Fix Observatory rebuild
...
BUG=
Review URL: https://codereview.chromium.org//1133603002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45589 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 12:45:33 +00:00
ricow@google.com
e92f697236
Remove dart2dart support from testing scripts and status files
...
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)
R=kustermann@google.com , floitsch@google.com , kmillikin@google.com
BUG=
Review URL: https://codereview.chromium.org//1126363003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +00:00
srdjan@google.com
ba038822fb
Reenable eager local var descriptors until issue with one test resolved.
...
Review URL: https://codereview.chromium.org//1130133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45584 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 06:33:56 +00:00