John McCutchan
f58029a0cd
Refactor some Timeline interfaces to be simpler and support streaming
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1173333007 .
2015-06-16 10:52:48 -07:00
John McCutchan
c7187924a9
Initial Timeline Events
...
- Each isolate has its own TimelineEventBuffer
- Each isolate has TimelineEventStreams for API, Compiler, Embedder, Isolate, and GC
- Compiler, Isolate, Embedder, and GC are being inserted into the stream
- Basic unit tests
- Dart API for injecting timeline events
- Arbitrary number of native and Dart arguments can be attached to each event
- JSON printing
- Output can be loaded by about://tracing
- Add --timeline-trace-dir flag
Short term follow up CLS:
- Service protocol requests to enable / disable tracing and retrieve a trace
- UI for Observatory
- Dart code EventStreams and Events
R=asiva@google.com
Review URL: https://codereview.chromium.org//1170503004 .
2015-06-16 10:10:14 -07:00
Ryan Macnak
392a83221f
Allow setting break-on-exceptions option over the service protocol. Add command to Observatory's debugger.
...
Decide whether to cache service objects based on the fixedId property.
Be more tolerant of eval scripts and functions.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1174313002 .
2015-06-15 12:05:23 -07:00
Ivan Posva
f5e3f94019
Fix http://dartbug.com/23578 :
...
- Complete revamp of isolate-specific flags.
- Associate flags with the isolate on creation.
- Dart_CreateIsolate and associate callback do take an
extra flags argument.
- Make sure to clear IC data array when clearing code.
BUG=23578
Review URL: https://codereview.chromium.org//1162033005
2015-06-07 17:57:34 +02:00
Todd Turnidge
996f012707
2nd attempt at adding streamListen/streamCancel to the service protocol.
...
This time I am committing the protocol changes first and saving the
Observatory changes for a second cl.
------
We currently support 5 streams: Isolate, Debug, GC, _Echo, and _Graph.
Only generate events when at least one client is listening to the
corresponding event stream.
Only send events to the clients that actually request them.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1166433008
2015-06-04 09:57:22 -07:00
Lasse R.H. Nielsen
5a843ebbf3
Add "checked" parameter to Isolate.spawnUri.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1154673004
2015-06-03 12:32:52 +02:00
John McCutchan
b7534facef
Include 'fixedId' key when printing service ids
...
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1157173005
2015-05-26 16:56:31 -07:00
Todd Turnidge
8d24372339
Revert "Add the streamListen and streamCancel rpcs to the vm service."
...
This reverts commit 0967b63073
.
Conflicts:
runtime/observatory/tests/service/graph_test.dart
runtime/vm/service.cc
BUG=
Review URL: https://codereview.chromium.org//1152283005
2015-05-26 15:22:39 -07:00
John McCutchan
f01b6dd5b2
privatize and remove some fields in Isolate response
...
- Remove features
- Make heaps -> _heaps
- Make tagCounters -> _tagCounters.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1156183002
2015-05-26 14:05:50 -07:00
Todd Turnidge
0967b63073
Add the streamListen and streamCancel rpcs to the vm service.
...
We currently support 5 streams: Isolate, Debug, GC, _Echo, and _Graph.
Only generate events when at least one client is listening to the
corresponding event stream.
Only send events to the clients that actually request them.
Implement this all as Dart streams in the service lib.
Update tests. Fix a race in async_generator_..._test that was biting me.
Review URL: https://codereview.chromium.org//1143783003
2015-05-26 13:52:35 -07:00
John McCutchan
51d8bae199
Revert "Hide Isolate pointer from embedder"
...
This reverts commit 014e694ba7
.
Revert "Fix fall out from hide isolate pointer change"
This reverts commit 966aafbc81
.
Revert "Fix build"
This reverts commit d7b03ba7b0
.
BUG=
Review URL: https://codereview.chromium.org//1140263005
2015-05-19 11:41:42 -07:00
John McCutchan
966aafbc81
Fix fall out from hide isolate pointer change
...
BUG=
Review URL: https://codereview.chromium.org//1146523003
2015-05-18 15:13:35 -07: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
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
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
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
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
turnidge@google.com
b18024efb1
Add the --steal-breakpoints flag.
...
Add a test.
Update debugging_test.dart to not use line number instead of token pos to make it modestly less fragile.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1113243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45470 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-01 17:56:35 +00:00
johnmccutchan@google.com
e4f20705f5
Fix idle ticks during isolate startup
...
- Change default isolate vm tag from idle to Embedder
- When a thread is exiting an isolate, only set the Idle tag if the isolate has been made runnable. Set LoadWait tag otherwise.
R=iposva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org//1107213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45436 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 00:32:44 +00:00
rmacnak@google.com
9f56280609
Add asserts that isolates have a root library set up before they become runnable.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1073983010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45224 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:44:47 +00:00
koda@google.com
c042387868
Move CHA field back to Isolate, pending a permanent fix.
...
Since the Thread structure is currently cleared on Enter/ExitIsolate,
there is a risk that CHA is cleared if an embedder callback executes during
compilation and switches/spawns isolates. This CL eliminates that risk.
However, Isolate is still not a good long-term place for CHA,
since it doesn't fit with a concurrent compilation model. Issue 23153 tracks
the work towards a permanent solution that couples its life cycle with
compilation.
R=fschneider@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//1061243003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45121 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 20:59:51 +00:00
lrn@google.com
1b208bd6e6
Update Isolate API.
...
Remove AS_EVENT as priority of ping/kill. It wasn't very usable or predictable.
Make priority consistently named and a named parameter.
Add response object to ping/addExitListener so it doesn't have to send null.
This is useful for cases where you want to use the same receive port for
multiple purposes.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1074223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45092 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 10:29:54 +00:00
turnidge@google.com
52538c5315
Tidy up the service protocol. Begin improving the documentation.
...
BUG=
Review URL: https://codereview.chromium.org//1053053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44865 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 19:16:35 +00:00
koda@google.com
f4419287aa
Prepares for multiple threads by further decoupling Thread from Isolate.
...
- Replace Isolate::SetCurrent with more explicit Thread::Enter/ExitIsolate.
- Lazily initialize Thread instances when entering an isolate, to avoid new API calls for embedders.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1041523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44835 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 17:48:11 +00:00
turnidge@google.com
140a071acb
Allow Observatory debugger to switch isolates.
...
- Add the "isolate" command which allows the user to switch isolate by name or number. Supports completion.
- Add the "isolate name" command which allows the user to rename an isolate. Add the "setName" method to the service protocol to support this. Isolates now have a debugger_name() in the vm.
- The new IsolateUpdate event notifies the client when an isolate name changes.
- When an isolate is updated, update the page's isolate too, so the navbar is accurate.
- Update isolate summary to display isolate number.
- Rework how the isolate's name is computed because we were getting garbagey names in the IsolateStart event (SpawnState was not yet set).
- Make sure that the debugger doesn't subscribe to events multiple times.
- "info isolates" is now "isolate list".
- Rework reporting of vm and isolate startTime in the service protocol and in Observatory.
- Fix bug in command completion when subcommands and other completions share common prefixes.
- Rework isolate accounting in the VM object in Observatory. We now create Isolates in getFromMap rather than from IsolateStart events, per se. Rewrite the isolate updating code.
- IsolateStart and IsolateExit events are now owned by the Isolate itself, rather than the vm.
- Return the actual result in pause/resume/etc.
- Add assertion in JSONStream::PrintProperty64 that the result fits in a javascript double. Sigh.
- Stop sending GC events for the service isolate. Add assertions to guard against this happening in the future.
- Misc improvements in error reporting.
Review URL: https://codereview.chromium.org//1007863003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44718 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 19:06:18 +00:00
rmacnak@google.com
ae3ce5cc0f
Fix --break_at_isolate_spawn. Starting in r44655 implicit static closure functions are not themselves debuggable, so set the breakpoint on the static function they will dispatch to instead.
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1019793012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44712 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 17:19:09 +00:00
koda@google.com
89daba5454
Split Thread/Isolate instances, but still maintain 1:1 relationship.
...
The life cycle of Thread is still coupled with the life cycle of Isolate, but the added indirection allows the migration work to proceed, at negligible performance impact.
This is a small step towards making Thread different from Isolate and allow a many-to-one relationship. In particular, in prepares for being able to have the sweeper have some minimal separate state from the main thread (eliminating the current fake-isolate hack).
Concretely, it moves the thread-local storage key into the Thread class, but for now, keeps a "main_thread" in Isolate for quick access in native/runtime_entry.
Also moves cha_ field to Thread (the first of many fields that will move).
To summarize, this CL enables the next steps:
- moving other fields from Isolate to Thread without circular include-dependencies
- replacing sweeper's fake Isolate with a helper Thread (referencing the original Isolate)
Also add 'volatile' to local variables that clang thinks could be clobbered.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1037453002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44703 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 22:41:33 +00:00
zra@google.com
c220d08019
Caches the edge counter increment size in the isolate()
...
As suggested in [1], hardcoding the lengths is too fragile.
[1] https://codereview.chromium.org/975643003/
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1031673004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44648 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 21:26:13 +00:00
koda@google.com
0311c0eac9
Revert "Eliminate fake-Isolate workaround from concurrent sweeper."
...
The ARM simulator still needs a current isolate for its atomics.
TBR=iposva@google.com
Review URL: https://codereview.chromium.org//1027243003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44637 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 17:17:41 +00:00
koda@google.com
b7e1dcac19
Eliminate fake-Isolate workaround from concurrent sweeper.
...
Add RawObject::Size(ClassTable*) to avoid remaning calls to Isolate::Current.
R=iposva@google.com
Review URL: https://codereview.chromium.org//1024063003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44611 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 20:37:38 +00:00
koda@google.com
92a8c39d3c
Keep zone cached in SnapshotReader to allow removing ZoneHandle(Isolate*) interface.
...
Add a StackZone around API snapshot reading call.
Also remove CheckedHandle(Isolate*) interface by migrating its users to Zone*.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1012333002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44580 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-19 17:42:40 +00:00
iposva@google.com
5ce27dc200
- Remove stale code.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//992003002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44342 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-09 20:29:14 +00:00
iposva@google.com
91e105d8c6
- Implement some more missing pieces of the Isolate API.
...
Added:
* addOnExitListener, removeOnExitListener
* setErrorsFatal
* addOnErrorListener, removeOnErrorListener
R=asiva@google.com
Review URL: https://codereview.chromium.org//881373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44307 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-07 01:04:19 +00:00
turnidge@google.com
f9f2d9c017
Major rework of vm service events
...
--------
VM
Add a new ServiceEvent class in the vm. Rework the event type names.
Add BreakpointAdded, BreakpointResolved, and BreakpointRemoved
service events.
Record the top frame for kIsolateInterrupted and kExceptionThrown
debugger events.
Send a top frame in more Pause* events.
Send breakpoint list with the Isolate response. Remove the
getBreakpoints method from the vm service.
Move Resume events into debugger.cc.
Rework MessageHandler a bit so that we can send PauseStart and
PauseExit notifications.
--------
Observatory
Move some event handler from Application to Isolate.
Rewrite breakpoint tracking code to use the new breakpoint events.
Change run state tracking in Isolate.
Change getFromMap so that it applies updates if the map isn't a ref.
Use getFromMap instead of new ServiceObject in invokeRpc. This
fixes some duplicate ServiceObject problems.
Review URL: https://codereview.chromium.org//979823003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44268 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-05 19:02:42 +00:00
johnmccutchan@google.com
f2333f63a5
Add Function based profile tree
...
Profiler improvements:
- Track Functions in profile and build Function based trie
- Associate code objects with functions
- Created cpu_profile.dart library
- Major speed improvements for disassembly view
- Fix truncation of disassembly comments
- Ability to get code object ticks from disassembly view
- Inlining mini-map in disassembly view.
- Remove a bunch of unused data from profile service response
- In some cases a caller PC that is better than the PC marker is inserted into the stack trace
- Inlined functions are expanded
- Ability to clear profile
- New flag '--keep_code' which keeps deoptimized code around for use by the profiler.
General fixes:
- Fix caching in service library
- Remove pubspec.yaml before running pub get
R=asiva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org//928833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44067 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 18:48:55 +00:00
koda@google.com
e8844b6f99
Fix ASAN build failure due to unused local.
...
TBR=zra@google.com
Review URL: https://codereview.chromium.org//925003003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43872 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 13:25:07 +00:00
koda@google.com
4c74036e9b
To satisfy ASAN, use stub instead of & operator to get C++ stack pointer.
...
Because of initialization order, this requires slightly different paths for VM isolate and others.
R=zra@google.com
Review URL: https://codereview.chromium.org//932983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43865 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 04:58:08 +00:00
johnmccutchan@google.com
1761e8eb5f
Refactor service code and service method parameters
...
- Move service isolate code into service_isolate.cc
- Reorganize service isolate code
- Unify isolate and root message handlers
- Add MethodParameter classes
- Add parameter list to service method table
- Use parameter list for getCpuProfile RPC
- Update service_test.cc to work with required isolateId parameter.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//920813003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43735 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 19:10:55 +00:00
asiva@google.com
ea16b41a0b
Fix race condition an isolate is being added to the isolate list before the name for the isolate is setup, the service isolate starts registering the isolate and accesses the name which is NULL.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//918823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43706 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-11 23:39:43 +00:00
johnmccutchan@google.com
a6483aefd1
Per isolate Log with block support
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//913503004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43604 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 18:54:20 +00:00
zra@google.com
1299ad1485
Allows turning on checked mode on a per-isolate basis
...
using the embedding API.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//883263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43481 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 18:32:48 +00:00
johnmccutchan@google.com
172baa03ff
Service isolate rework take 2
...
Review URL: https://codereview.chromium.org//889443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
johnmccutchan@google.com
db271b0477
Revert r43217, r43215, r43208, r43207, and r43202.
...
Reverting because of some isolate spawn issues (on Windows, and pub bots).
Review URL: https://codereview.chromium.org//867113003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com
66aa470fc6
* Create vm-service isolate at Dart_Initialize time.
...
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.
performance changes:
no service isolate:
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
always start service isolate (as a thread pool task):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | - 0]
service does I/O (calls to Dart_LoadScript block until service is running):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
R=asiva@google.com
Review URL: https://codereview.chromium.org//584023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
johnmccutchan@google.com
bedcc03afb
Remove unsupported --profile-dir flag and related code
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//877143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43198 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 18:31:41 +00:00
iposva@google.com
fc044a7294
Fix http://dartbug.com/22115
...
- Make sure to lookup main in re-exported namespaces too.
R=asiva@google.com
Review URL: https://codereview.chromium.org//864233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43078 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 21:28:27 +00:00
koda@google.com
9856fcdd8b
Expect objects in the VM-heap to be marked on shutdown verification.
...
This would have failed after submitting
https://codereview.chromium.org/850183003/
R=zra@google.com
Review URL: https://codereview.chromium.org//866473003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43052 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 20:30:09 +00:00
johnmccutchan@google.com
47664bbfd2
Move StartIsolateScope into MessageHandler::HandleMessages
...
R=iposva@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//861813003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43021 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 19:13:06 +00:00
koda@google.com
c7e9e048ed
Rename Thread -> OSThread.
...
It's a collection of static utility methods for primitive operations on OS threads.
Make room in the namespace for upcoming class that will represent all the complex state of a VM thread.
Review URL: https://codereview.chromium.org//796063006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42895 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 02:30:07 +00:00
koda@google.com
044fc59fb6
Temporarily move vm_tag_ from BaseIsolate to Isolate.
...
This field is used by performance sensitive generated code.
Moving it out of BaseIsolate will simplify the first step towards replacing BaseIsolate with an actual thread state abstraction. It will later be migrated to that thread class (along with many other fields of Isolate).
Also remove an unused accessor from Isolate.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//798873007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42884 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-14 21:18:49 +00:00
asiva@google.com
ca1c3241c4
Fix for issue 21398.
...
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.
R=iposva@google.com
Review URL: https://codereview.chromium.org//834233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
iposva@google.com
57b4eef0d4
- Remove entirely disconnected unhandled exception handler.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//796003006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42759 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 22:39:42 +00:00
iposva@google.com
fd69128004
- Allow an isolate to be started in paused state.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//822803003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42576 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-30 23:52:37 +00:00
iposva@google.com
577242dbd4
- Implement Isolate.kill.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//800713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42355 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-13 00:39:16 +00:00
iposva@google.com
602aad28a1
- Implement Isolate.ping.
...
- Allow isolate library messages to be enqueued at the beginning
of the message queue.
R=asiva@google.com
Review URL: https://codereview.chromium.org//749373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42193 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 22:45:10 +00:00
johnmccutchan@google.com
456bdc4ea3
Enable the profiler on the simulator
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//718393005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41752 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-14 23:15:00 +00:00
fschneider@google.com
876193b31a
Make CTX allocatable by the register allocator.
...
This change makes CTX available by not caching the current
context while in Dart code. Instead the current context
is held in a local variable (:saved_current_context_var) and
is passed as argument in CTX at calls.
This also simplifies a lot of code in the debugger: As a result,
Isolate::top_context is not needed anymore since the current context
can always be extracted from a Dart frame.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//678763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41422 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 15:42:38 +00:00
koda@google.com
3291f76135
Avoid verifying heap while sweeper is running.
...
Verifier cannot handle a combination of dead+unswept objects and dead+swept objects.
* Verify before marking, before sweeping, and after a non-concurrent sweep.
* Disable pre/post-scavenge verification when concurrently sweeping.
* On shutdown, wait until concurrent GC tasks finish before verifying.
R=iposva@google.com
TBR=iposva@google.com
Review URL: https://codereview.chromium.org//631013002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40946 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-06 23:20:23 +00:00
ajohnsen@google.com
0491f4e887
Per isolate package root.
...
BUG=
R=iposva@google.com , ricow@google.com , sgjesse@google.com , turnidge@google.com
Committed: https://code.google.com/p/dart/source/detail?r=40534
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40581 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 05:46:14 +00:00
ajohnsen@google.com
38619425c2
Revert "Per isolate package root."
...
Revert "Fix test in checked mode."
The Dartium branch is locked atm, making it impossible to land this and have green Dartium bots.
BUG=
Review URL: https://codereview.chromium.org//590123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40540 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 11:13:28 +00:00
ajohnsen@google.com
a058d07806
Per isolate package root.
...
BUG=
R=iposva@google.com , sgjesse@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40534 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 08:07:06 +00:00
asiva@google.com
302c93b050
1. Add user tag to the pointers traversed in the object store
...
2. Added support for UserTag objects in a full snapshot.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//583583007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40508 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 18:00:13 +00:00
turnidge@google.com
d3173684dd
Add --break-at-isolate-spawn to help with isolate debugging.
...
This flags stops spawned isolates with a one-time breakpoint at their
entrypoints.
Fix a bug in Observatory which interfered with browsing a spawned
isolate.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//537673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39878 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:53:44 +00:00
ricow@google.com
69bed3d030
Revert revision 39617 "Create isolates in a separate thread."
...
This is breaking dartium with:
BrowserOutput.stderr:
../../dart/runtime/vm/dart_api_impl.cc:1614: error: Dart_EnterScope expects there to be a current isolate. Did you forget to call Dart_CreateIsolate or Dart_EnterIsolate?
R=vsm@google.com
Review URL: https://codereview.chromium.org//516863002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39638 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 09:52:59 +00:00
turnidge@google.com
3cd24f8ebf
Create isolates in a separate thread.
...
Previously the parent isolate waited for the child isolate to fully
load, which was not ideal. This change fixes that.
If you run on mac, you may need to raise your open file limit to make mandel_isolate_test pass:
ulimit -n 1024
Default open file limit on the mac is low.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//507913003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39617 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 19:47:06 +00:00
johnmccutchan@google.com
3c6822fde3
- Keep track of stack base whenever Dart code is invoked.
...
- Update stack limit based on stack base.
R=asiva@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//506933002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39613 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 18:28:47 +00:00
iposva@google.com
2ee3263277
- Add and enable concurrent sweeper.
...
- Keep separate lists for normal sized executable and data pages.
R=koda@google.com
Review URL: https://codereview.chromium.org//503363005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39593 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 13:37:55 +00:00
turnidge@google.com
c48496b873
Refactor isolate startup code in preparation for making isolate spawning more truly non-blocking.
...
Instead of passing a startup message to the new isolate, pass all
necessary information in to _startIsolate directly. The new isolate
sends its control port and capabilities back to the parent.
R=iposva@google.com
Review URL: https://codereview.chromium.org//456983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39423 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 19:57:09 +00:00
iposva@google.com
4835041da9
- Account for number of pending tasks in old-space collections.
...
- Protect access to the free lists.
- MutexLocker/MonitorLocker do not need to be StackResources.
R=koda@google.com
Review URL: https://codereview.chromium.org//474913004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39396 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 03:54:14 +00:00
johnmccutchan@google.com
3299ed4a81
- Add VMMetric and some sample metrics
...
- Per isolate:
* heap.old.used
* heap.old.capacity
* heap.old.external
* heap.new.used
* heap.new.capacity
* heap.new.external
- VM:
* vm.isolate.count
- New metrics service namespace: /metrics/vm/...
R=koda@google.com
Review URL: https://codereview.chromium.org//464953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39305 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 17:35:00 +00:00
fschneider@google.com
54a7410866
Fix bug with CHA dependencies by recording a set of classes for registering code.
...
CHA is not only used with the receiver class, but also with other classes
when doing type propagation. The optimized code has to be registered with
all classes that are affected by CHA so that deoptimization occurs whenever
the set of subclasses changes for these classes.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//463103002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39194 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 12:43:03 +00:00
iposva@google.com
14ecdbd66a
- Separate the thread implementation used in bin/ and vm/
...
to allow us to make VM specific changes.
R=asiva@google.com
Review URL: https://codereview.chromium.org//463993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39172 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 23:19:53 +00:00
hausner@google.com
207292adb1
Report stack overflow to debugger after stack is unwound
...
Notify the debugger of stack overflow errors after the stack has
been unwound. No location information is sent with the pause event.
R=devoncarew@google.com
Review URL: https://codereview.chromium.org//382653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38125 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-10 17:44:33 +00:00
hausner@google.com
28f8a0ecae
Do not notify debugger on stack overflow
...
Don’t call back to the debugger on out of memory and stack overflow
exceptions. The debugger can’t do anything meaningful on the VM
when the stack is full.
This should eliminate crashes we see in Dartium devtools.
This means we can no longer intercept stack overflows with the debugger.
In a later change, I plan to add uncomment the code that notifies
the debugger of the exception after the stack in unwound. Before this
notification gets uncommented, we need to make sure that debuggers
can handle notifications with an empty stack.
R=asiva@google.com
Review URL: https://codereview.chromium.org//376053003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38086 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-09 16:09:14 +00:00
iposva@google.com
5686b6a793
- Implement Isolate.pause and Isolate.resume.
...
- Implement a minimum Capability functionality.
R=asiva@google.com
Review URL: https://codereview.chromium.org//354763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37982 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-03 12:56:02 +00:00
turnidge@google.com
f849afc751
Add support for asynchronous event notification to the observatory.
...
Implement "isolate pause" notifications.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//340443006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37841 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:46:27 +00:00
hausner@google.com
4090b57cd8
Defer marking libraries as ‘loaded’
...
Now that loading of libraries and library parts are loaded asynchronously and calls to Dart_LoadLibrary are serialized instead of nested, we must wait until the last load request is satisfied before marking libraries as ‘loaded’.
R=iposva@google.com
Review URL: https://codereview.chromium.org//350923005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37824 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 17:11:09 +00:00
johnmccutchan@google.com
452545ddcd
Visual refresh of allocation profile page
...
- Redo layout of page.
- Show human readable strings for used, free, and external memory for each space.
- Track time of last forced GC/accumulator reset in isolate and display them in allocation profile page.
- Track allocation statistics on Class object itself.
- Make isolate's heap reporting use heap's PrintToJSON.
- Manually insert allocation profile table rows into dom (removes usage of template repeat).
- Add some timing information to allocation profile page update (to help diagnose slow downs).
Other changes:
- Upgrade to Polymer 0.11-dev (finally ends erroneous console spam).
- Replace enteredView/leftView with attached/detached (polymer change).
- Add <link> tag to polymer.html for each element (polymer change).
- Move <script> tag outside of element (uniformity, clarity).
- Remove unused collapsible-content element.
R=koda@google.com
Review URL: https://codereview.chromium.org//342513004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37456 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 17:39:37 +00:00
koda@google.com
3cf1f597e2
At shutdown, remove isolate from list before tearing it down.
...
This avoid exposing the decaying, possibly illegal, state of the isolate to isolate visitors.
BUG=dart:19219
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//327123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37211 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 23:12:08 +00:00
koda@google.com
e61340a29f
Mitigate race condition in profiler.
...
BUG=dart:19219
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//322203005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37205 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 22:07:33 +00:00
regis@google.com
7e065cb7f0
Provide the isolate with a trace buffer, but do not allocate one by default.
...
This will be used to report warnings to the observatory.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//327803003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37184 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 17:06:02 +00:00
lrn@google.com
01897bf44d
Revert "Ensure that failure to start an isolate all end up in the future."
...
Review URL: https://codereview.chromium.org//312123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36986 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 09:40:29 +00:00
lrn@google.com
c2aa45f121
Ensure that failure to start an isolate all end up in the future.
...
Isolate.spawnUri can fail in many ways.
Any problem that prevents calling "main" on a loaded isolate
should end up as IsolateSpawnException in the future returned by
Isolate.spawnUri.
This CL ensures that failure to look up main is handled correctly,
and adds more tests.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//297413002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36982 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 08:42:39 +00:00
iposva@google.com
651ded192e
- Add possibility to redirect messages if they were not delivered.
...
- Prepare OOB handling for more than service messages.
- Do not use growable arrays when growing is not necessary.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//300223011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36772 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 21:58:33 +00:00
johnmccutchan@google.com
1c94e8f852
Fix crash in ProfileInterrupt
...
BUG=
Review URL: https://codereview.chromium.org//302933003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36771 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 21:10:39 +00:00
johnmccutchan@google.com
58f33f47e1
Don't idle tick isolates paused before start or exit
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//303863003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36770 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 20:56:57 +00:00
johnmccutchan@google.com
b3f2fb14d0
Reduce CPU usage when no isolates need to be profiled (e.g. when an isolate calls readLineSync or sleep the isolate owns the thread but is blocked).
...
This CL does the following:
- Introduces two new API entry points: Dart_IsolateBlocked and Dart_IsolateUnblocked.
- The thread interrupter thread goes into a deep sleep if no isolates need to be profiled (not scheduled on a thread or are in a blocking call).
- When an isolate unblocks, the thread interrupter thread resumes regular interrupts.
- dart:io readLineSync and sleep mark that they are making a blocking call.
This fixes https://code.google.com/p/dart/issues/detail?id=18126 reducing CPU usage to 0% when waiting for stdin or sleeping.
R=ajohnsen@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//297183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36632 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 11:53:49 +00:00
johnmccutchan@google.com
03d92f4d7f
Fix pause-on-start and pause-on-exit with async loading.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//295353002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36617 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 06:09:28 +00:00
hausner@google.com
c6101ca4b5
First step towards asynchronous loading of sources. With this change, sources are read asynchronously in dart code (builtin.dart) and when the i/o future completes, a callback in the VM loads and compiles the script or library code.
...
In a next step, the i/o will be moved to the service isolate so that not all isolates have to import dart:io.
Fallout from this change:
1) Loading has become a tad slower. Will have to investigate why.
2) Errors that happen during loading (file not found, compilation error in an imported library) are no longer reported at the offending import clause. This can be fixed later if necessary by passing the import clause source location to the library tag handler.
Review URL: https://codereview.chromium.org//290713004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36575 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 17:43:14 +00:00
ajohnsen@google.com
00f01663f3
Add dart:io view to the observatory.
...
The dart:io view contains HttpServerList and HttpServer for now.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//286903010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36559 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 10:09:54 +00:00
srdjan@google.com
dec3af813b
Emit intrinsified code even if optimziation is turned off.
...
Also remove unsued flag —report-usage.
R=iposva@google.com
Review URL: https://codereview.chromium.org//293133003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36529 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 21:30:05 +00:00
turnidge@google.com
78f3f14635
Add pause/resume for isolates in vmservice/observatory.
...
Improve the isolate view and isolate summary.
Details:
- Rig DbgMsgQueueList so it can run even when the debugger hasn't started.
- Add <action-link> element for pause/resume actions.
- Introduce new flex-percentile css classes.
- Add <isolate-run-state>, <isolate-location>, <isolate-shared-summary>, and <isolate-counter-chart> elements. Counters are now displayed as a pie chart instead of as text.
- Reorg <isolate-view> and <isolate-summary> substantially.
- Add shared style sheet to <script-view>.
- Combine pause-on-start/pause-on-exit with other debugger pause events and present a consistent representation for these in the vm service. Reorg how pause events are shown in <isolate-run-state>.
- Give the user a nicer message when an isolate is still loading.
- Move the /resume command to /debug/resume. Implement this with a bool in the Isolate class which is used to smuggle resume requests from the vm service to the dart embedding api.
- Add the /debug/pause command to the vm service
- Break the DebuggerEvent struct out into its own top-level class. Add JSON printing.
etc.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//271153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36366 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 17:09:08 +00:00
johnmccutchan@google.com
850074a704
Refactor 'dart:profiler' UserTag API
...
- Each isolate starts off with a 'Default' UserTag set.
- A null tag cannot be set.
- Calls to clearCurrentTag() should be replaced with a call to UserTag.defaultTag.makeCurrent().
- makeCurrent returns the previously current tag.
This allows for the following pattern to work:
callee() {
var old = calleeTag.makeCurrent();
...
old.makeCurrent();
}
caller() {
var old = callerTag.makeCurrent();
...
callee();
assert(getCurrentTag() == callerTag);
...
old.makeCurrent();
}
R=iposva@google.com , zra@google.com
Review URL: https://codereview.chromium.org//266913010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35810 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-06 17:07:26 +00:00
turnidge@google.com
c5527ac2aa
Various vmservice/observatory fixes:
...
- get rid of double lines on vm view page
- show eval errors in monospace font
- make eval highlight color consistent
- fix broken navbar on script view page
- show list of all libs for an isolate
- use two-column view to save space on isolate view page
- give the dart:nativewrappers library a name
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//262823012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35745 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-05 16:54:59 +00:00
turnidge@google.com
9243ffc4ff
Always use the same json for null in the vm service.
...
PrintToJSONStream -> PrintJSON.
ALSO:
Fix <em> tags in the Observatory.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//257053003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35532 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 18:10:02 +00:00
johnmccutchan@google.com
15eff079d7
Collect samples during isolate startup
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//250883017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35522 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 14:17:31 +00:00
iposva@google.com
fd8565b071
- Add a minimal implementation of Capability.
...
- Make RawReceivePort and SendPort VM internal objects.
- Rationalize the creation of ports and their handling within the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//243973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35325 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 19:44:03 +00:00
asiva@google.com
a561e2bd17
1. Provide a framework to traverse persistent prolog weak handles.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//231053003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35066 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-15 16:32:55 +00:00
johnmccutchan@google.com
febba444a4
Fix heap report bug and add checked mode display to VM page
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//233523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35060 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-15 14:16:15 +00:00
johnmccutchan@google.com
8f0056371d
Initial UserTag and dart:profiler library
...
R=asiva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//230863005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34949 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 22:32:45 +00:00
johnmccutchan@google.com
ef666553a1
Add runtime and native entry tags
...
- Split runtime and native entry tags.
- Set runtime / native entry address as vm tag in stubs.
- Add reverse native entry resolver (pc to name) to public API (breaking change).
- Hookup reverse resolver for standalone VM (io + bootstrap + builtin natives).
- Runtime entries are registered with tags.
- Profiler queries for tag names via the reverse native entry resolver.
- Profiler outputs named entry tags as children under parent tag (runtime or native).
R=asiva@google.com
Review URL: https://codereview.chromium.org//227433004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34941 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 20:26:45 +00:00
turnidge@google.com
1eba6be2b2
Implement new stacktrace and deoptimization stress testing flags:
...
--deoptimize-every=N
--deoptimize-filter=FunctionName
--stacktrace-every=N
--stacktrace-filter=FunctionName
Add a word of stack_overflow_flags to the Isolate. Use a bit in this
word to indicate whether or not a function is being compiler for OSR.
This allows us to distinguish an OSR overflow from a stress-testing
overflow.
BUG=
R=johnmccutchan@google.com , zra@google.com
Review URL: https://codereview.chromium.org//226543007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34887 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 18:27:37 +00:00
johnmccutchan@google.com
431761e878
Miscellaneous Observatory UI improvements
...
Update cursor over expander in profiler
Ressurect json-view
Show arrow in profiler tree
Clicking on <code-ref> link in profiler doesn't expand tree
<code-ref> only shows a link for Dart code
Port script-view to use script-inset
Add function source to function view
Add counters to isolate view
Add counters to isolate summary
R=turnidge@google.com
Review URL: https://codereview.chromium.org//221263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34661 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 18:30:01 +00:00
turnidge@google.com
99fca31c02
Support Types in instance-ref/instance-view.
...
Refactor JSON printing for all instances to share more code. This allows Types to act like Instances in Observatory.
Update the look and feel for the function-view page.
Add script info for functions.
Update tests.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//211283004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34435 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 17:13:03 +00:00
johnmccutchan@google.com
182fcd0921
Add isolate tag-profile model and UI.
...
Distinction between a Dart Error and a ServiceError/ServiceException.
Better Observatory behaviour when a ServiceError/ServiceExceptions occurs.
Display isolate's sticky error.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//205713004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34377 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-25 18:09:02 +00:00
asiva@google.com
8c2df33d13
Use a bit in the handle structure to indicate if it is a prologue weak handle instead of the tagging the address.
...
R=koda@google.com
Review URL: https://codereview.chromium.org//208443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34258 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-21 17:23:33 +00:00
turnidge@google.com
9c5c7040dc
Add a VM page to the observatory.
...
Make the VM a ServiceObject. Some refactoring in the ServiceObject
implementation.
IsolateList is no longer a ServiceObject. It should eventually become more like our caches.
Support the /vm request in the vm. Remove isolate list request.
Improvements to Isolate::PrintToJSONStream: always provide a
reasonable name. Use the same code to produce isolate refs and
non-refs.
Improve isolate status message when the isolate is paused at
start/exit. Add a resume link to the isolate view.
Add a navbar to the error page so that dartium users are less likely
to get stuck.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//206213004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34204 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 21:00:10 +00:00
regis@google.com
fe667b6d9a
Support displaying of types in the observatory (back-end only for now):
...
- canonical type arguments cached in the global hash table
- subset of the above, but with cached instantiations
- canonical types cached by the type class
And of course, it should now be possible to display any type, e.g.
field types, function signature types, classes super types, interface types,
etc...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//184653003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34181 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 16:41:59 +00:00
johnmccutchan@google.com
95b2427f6f
Support wedging isolates before startup or before exit.
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//204003002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34079 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 23:32:36 +00:00
johnmccutchan@google.com
762b9a400c
Set VMTag from stubs when transitioning between Dart and Native
...
R=asiva@google.com , zra@google.com
Review URL: https://codereview.chromium.org//200693002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34065 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 21:26:07 +00:00
johnmccutchan@google.com
25146ce058
Basic tag infrastructure
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//195733009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33701 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-14 16:16:21 +00:00
iposva@google.com
021fca847c
- Implement a PauseTimerScope so that we can properly exclude
...
times when a TimerScope is active.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//196413011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33662 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 20:38:24 +00:00
asiva@google.com
a611f736e0
Remove the ability to allow multiple gc prologue and gc epilogue callbacks
...
to be registered at any given time. Dartium seems to use only one.
R=iposva@google.com
Review URL: https://codereview.chromium.org//197963002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33622 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 22:39:15 +00:00
asiva@google.com
3af18cc4c0
1. Restructure reusable handles to make individual Scopes for each handle type
...
2. Add a convenience macro to make use of reusable handle scopes easier
R=iposva@google.com
Review URL: https://codereview.chromium.org//187503002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33471 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-08 00:26:29 +00:00
koda@google.com
0d8a9e7e4a
Missing file from r33467.
...
TBR=asiva@google.com
Review URL: https://codereview.chromium.org//191683002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33469 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 23:59:29 +00:00
asiva@google.com
a01ab16991
1. When reading a full snapshot use the class id from the snapshot instead
...
of generating a new one. This ensures that assumptions made about the
class id when generating a snapshot will still hold in the version that
runs from a snapshot.
2. remove ObjectHistogram code as it is not used anymore and has been replaced
by VM service.
R=johnmccutchan@google.com , regis@google.com
Review URL: https://codereview.chromium.org//187133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33340 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-05 19:24:02 +00:00
asiva@google.com
e380b175f8
Pass in the isolate parameter to the weak persistent callback handler so that
...
there is no need to access the current isolate in the callback and delete
path (this code is run while a GC is in progress).
See https://codereview.chromium.org/185643003/ for corresponding changes
in dartium
R=iposva@google.com
Review URL: https://codereview.chromium.org//186003002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33282 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 18:11:19 +00:00
asiva@google.com
8e0129970c
Use a tag bit for indicating prologue weak persistent handles, this avoids
...
the costly lookup to determine if a handle is a prologue weak persistent
handle or a regular weak persistent handle in Dart_DeleteWeakPersistentHandle
R=iposva@google.com
Review URL: https://codereview.chromium.org//177093010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33254 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 00:35:45 +00:00
johnmccutchan@google.com
7aefd3e945
Add flag to pin and service command to release isolates
...
BUG=
Review URL: https://codereview.chromium.org//181503006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33125 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-27 18:14:51 +00:00
fschneider@google.com
16857e0b13
Revert r32930 (Add more timing information in the VM to track time...)
...
It caused severe performance regressions that should be addressed.
TBR=asiva@google.com
Review URL: https://codereview.chromium.org//177733002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32959 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-24 12:15:55 +00:00
asiva@google.com
6d313d3797
Add more timing information in the VM to track time spent is dart code Vs native code.
...
R=johnmccutchan@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//137483010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32930 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 21:30:29 +00:00
johnmccutchan@google.com
5ab0c8e73d
Switch from linear search for code region to binary search.
...
Add a SampleVisitor for iterating over SampleBuffer.
Move stack walking class out of header into source file.
Processing 6.5 million stack frames went from 28 seconds to 741 millis.
R=asiva@google.com
Review URL: https://codereview.chromium.org//151143003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32809 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-19 19:15:16 +00:00
johnmccutchan@google.com
86c55f4fde
Keep list of existing isolates.
...
List is only updated when isolates are created / destroyed.
ThreadInterrupter now walks list of isolates.
Scheduling an isolate for interrupts is now lockless.
Setting a current isolate is now lockless.
Working on Linux, Mac, and Windows.
Assert that the isolate isn't on two threads at once.
R=asiva@google.com
Review URL: https://codereview.chromium.org//128653004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32439 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-07 17:43:21 +00:00
srdjan@google.com
8b7ebed54f
Mark optimized code that used CHA for optimization so that lazy class 'finalization' does not invalidate that code.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//150923002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32335 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-05 20:31:57 +00:00
johnmccutchan@google.com
8c7020e422
Add Google Charts to Observatory and use it in allocation profiler
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//148153007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32142 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 21:51:25 +00:00
turnidge@google.com
b891e78325
Post-meetup feature extravaganza.
...
Remodel the top-level isolate summary page.
Add variables to stack frames in the stack trace.
Stop putting small integers and bools in the object id ring.
Rework how we pass down null references (and null-like references like
uninitialized values).
Collect all isolate timers by default.
Change the lifetime of IsolateSpawnState so that we can refer to it
later to know how an isolate started up. Stop pretending that
IsolateSpawnState is a void*. Clean up vestigial IsolateStartData.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//145323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32128 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 18:40:12 +00:00
turnidge@google.com
12f8555b19
Allow root level requests in the vm service.
...
Move /cpu to the root level.
Move PostReply to the command handlers. This will allow command
handlers to reply asynchronously (by delegating elsewhere) if they
need to.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//131973007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31849 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-15 20:45:39 +00:00
johnmccutchan@google.com
c76b6eb1c2
Split service into VM and embedder specific bits.
...
Move most service sources into the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//125103004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31809 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-14 22:34:43 +00:00
asiva@google.com
9fb8b89682
1. Delete prolog weak persistent handles when shutting down an isolate
...
2. Remove the peer_ field from RawExternalTypedData as it is not used anywhere
R=iposva@google.com
Review URL: https://codereview.chromium.org//136853004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31797 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-14 19:55:46 +00:00
johnmccutchan@google.com
7da1f4f3ba
Build map of code regions and address ticks for profile report.
...
Profile pauses should be less than 500 ms even when handling 120,000 samples (2 minutes @ 1000 hz).
Code objects are referenced by hex address: "code/cafebabe".
Test for retrieving code objects over the service.
Remove old profile tool scripts. Replaced by dprof (https://github.com/dart-lang/dprof ) and Observatory UI for profiler.
Support for stable service refs to implicit closures and dispatcher functions.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//100103011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31447 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-03 19:55:50 +00:00
iposva@google.com
1e8061f060
- Remove the reply_port from the VM internal message object.
...
- Adjust all the uses of this API.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//93873015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31205 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 21:11:18 +00:00
johnmccutchan@google.com
919dc2d6eb
* Introduce ThreadInterrupter which calls a TLS set callback when thread is interrupted.
...
* Threads can only register and unregister themselves with ThreadInterrupter.
* Profiler is no longer involved in interrupting threads. It's just a callback and the buffer.
* Profiler operates lock free using an atomic operation to reserve sample in sample buffer.
* Linux, Mac, and Windows done.
R=asiva@google.com
Review URL: https://codereview.chromium.org//109803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31170 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 18:52:15 +00:00
srdjan@google.com
3274f92827
Rename FinalizeTypeHierarchy to ProcessPendingClasses.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//83983004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30688 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 00:11:32 +00:00
johnmccutchan@google.com
f6459c2dcc
- SetupIsolateForProfiling before SetCurrent is called on an isolate for the first time.
...
- ProfilerManager::Shutdown no longer frees isolate profiling data for registered isolates. Each isolate will free its own data when shutdown.
- Fix monitor timeout test to disable signal delivery.
- Do not walk the call stack in signal handler.
TBR
Review URL: https://codereview.chromium.org//84813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30607 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-24 23:33:41 +00:00
johnmccutchan@google.com
65e7b9f980
- Fix shutdown race.
...
- Move signal blocking out of dart.cc and isolate.cc and into profiler.cc.
- Nest scope objects explicitly.
- Add missing signal block in ProfilerManager::ShutdownIsolateForProfiling.
R=iposva@google.com
Review URL: https://codereview.chromium.org//83093004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30602 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-23 00:26:35 +00:00
srdjan@google.com
3485989ae7
Do not eagerly finalize classes in CHA, instead regard unfinalized classes as ’non-existent’ and only invalidate optimized code at finalization of the class.
...
Rename FinalizePendingClasses to FinalizePendingClassInterfaces as the class finalization occurs lazily.
TODO: add dependency information to deoptimize/remove only relevant optimized code.
R=regis@google.com
Review URL: https://codereview.chromium.org//81333003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30582 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-22 17:59:23 +00:00
lrn@google.com
ed814958fc
Fix VM not accepting static methods for Isolate.spawn.
...
BUG= http://dartbug.com/3011
Committed: https://code.google.com/p/dart/source/detail?r=30300
R=iposva@google.com
Review URL: https://codereview.chromium.org//68813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30442 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 09:14:30 +00:00
johnmccutchan@google.com
97ac18aee9
Sampling profiler
...
BUG=4350
R=asiva@google.com
Review URL: https://codereview.chromium.org//25909002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30419 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 18:26:10 +00:00
iposva@google.com
8b51ded2fb
- Convert heap sizes to words from bytes.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//70993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30325 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-16 00:17:52 +00:00
lrn@google.com
ab18829ae4
Revert "Fix VM not accepting static methods for Isolate.spawn."
...
Comitted by mistake.
Review URL: https://codereview.chromium.org//73893004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30301 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 11:23:47 +00:00
lrn@google.com
b0e40ddc70
Fix VM not accepting static methods for Isolate.spawn.
...
BUG= http://dartbug.com/3011
Review URL: https://codereview.chromium.org//68813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30300 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 10:28:32 +00:00
iposva@google.com
070d3dedf7
- Add a per-isolate pseudo random number generator to the
...
VM internals. This PRNG is not used to generate random
numbers in Dart code.
- Use the PRNG to generate JIT cookies for large constants
if needed during assembly.
- Add the possibility to set an external entropy source
for the PRNG through the C API.
R=asiva@google.com
Review URL: https://codereview.chromium.org//59773007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29950 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 00:59:46 +00:00
iposva@google.com
3dced243b3
Fix http://dartbug.com/14763
...
- Find main in the exported names of the root library.
- Unify how the main function is called from spawnUri
and the initial isolate.
Review URL: https://codereview.chromium.org//48713013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29865 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 00:55:41 +00:00
sgjesse@google.com
36a67fa046
Implement fromEnvironment on bool, int and String
...
This implements const constructor fromEnvironment on bool, int and
String.
The VM have the added -Dname=value option to define the value for the
properties. All values are provided by using the -D - nothing is read
from the environment.
If the resulting value is null or - in the case of int.fromEnvironment
- not a number an ArgumentError is thrown.
This CL does not have any implementation for dart2js.
This is a continuation of the change
https://chromiumcodereview.appspot.com/24975002 by iposva@
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//50983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29642 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 05:46:57 +00:00
iposva@google.com
2ed438e40c
Reland https://code.google.com/p/dart/source/detail?r=29315 :
...
- Make sure to keep the main/control port opened until the
isolate is finished.
- Account for the number of opened control ports to be able
to determine whether there are live ports.
- Ensure that the spawned isolated is kept alive until the
initial startup message can be handled.
- Add more isolate tracing output.
- Use the control port for the debugger id.
Review URL: https://codereview.chromium.org//47573002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29323 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-27 14:34:23 +00:00
iposva@google.com
eb95d787c3
- Revert parts of r29315 while attempting to reproduce
...
unexplained buildbot failures locally.
Review URL: https://codereview.chromium.org//47233002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29317 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-26 21:50:38 +00:00
iposva@google.com
b3f3d8bfbd
- Make sure to keep the main/control port opened until the
...
isolate is finished.
- Account for the number of opened control ports to be able
to determine whether there are live ports.
- Fix imports in snapshotted test.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//46173002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29315 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-26 20:50:20 +00:00
floitsch@google.com
6a72655d1b
Very simple version of Isolates.
...
R=ajohnsen@google.com , iposva@google.com , kasperl@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//27215002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29271 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 19:23:00 +00:00
asiva@google.com
a294e0a82f
Fix for issue 14236:
...
Retain script path of parent isolate when spawnFunction is called so that
it works when using script snapshots.
The test case issue14236_test.dart is a script snapshot whose original source
file path is issue14236_source.dart
R=iposva@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//35393003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29178 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 16:41:22 +00:00
asiva@google.com
1cd2ad79ec
Fix for 12312 (Dartium crash when reloading after running tests).
...
Add framework for Dart_Cleanup which will cleanup stuff on exit.
Ideally the VM isolate should be shutdown in Dart_Terminate but we don't
seem to have a clean thread pool shutdown as a result of which there are
racing isolates.
R=iposva@google.com
Review URL: https://codereview.chromium.org//25674009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28248 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 22:17:48 +00:00
turnidge@google.com
baeb23f9a5
Refactor some deoptimization code.
...
Primarily this change moves deoptimization state/code out of Isolate
and into DeoptContext (formerly DeoptimizationContext). The lifetime
of DeoptizationContext changes to survive through the entire
deoptimization process.
Some minor renaming. DeoptizationContext -> DeoptContext to make it
consistent with DeoptInstr and to save my wrists.
New files deferred_object.{cc,h} contain a bunch of the stuff lifted
from isolate.{cc,h}.
R=fschneider@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//24834002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28112 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 19:34:12 +00:00
iposva@google.com
d0b681f354
- Write the coverage data to a file instead of printing to stdout.
...
- Explicitly include lines with zero hits.
R=asiva@google.com , mlippautz@google.com
Review URL: https://codereview.chromium.org//24255013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27726 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 21:37:48 +00:00
iposva@google.com
f1583dec18
- More use of pre-allocated read-only handles.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//23510006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27490 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 16:55:57 +00:00
iposva@google.com
74b2a34d5b
- Base JSON stream printing on stack objects.
...
- Simplify creation of a JSONStream.
- Add experimental coverage output to the VM.
R=asiva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//23875015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27344 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-10 17:21:59 +00:00
vsm@google.com
92202c9f5e
Fix compiler warning
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//24075003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27303 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 17:35:27 +00:00
hausner@google.com
8e9139da08
Fix debugger stack traces
...
This change fixes the lookup of exception handlers that are
contained in activation frames that are not user-visible
(e.g. frames in dart library code).
Fixes issue 12318 (https://code.google.com/p/dart/issues/detail?id=12318 )
R=srdjan@google.com
Review URL: https://codereview.chromium.org//23000011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26445 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 17:22:30 +00:00
jacobr@google.com
605b33c1bc
fix cpp11 compile errors
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//23072026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26387 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 20:24:11 +00:00
iposva@google.com
34b4dfac1e
- Avoid double iteration when accessing anonymous classes.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//23072013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26131 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 17:54:18 +00:00
asiva@google.com
4b2c10ae32
Added following dart API changes to enable more efficient access based
...
on the dartium usage pattern:
- Dart_GetNativeStringArgument (gets a String object, peer etc. directly from
the native arguments)
- Dart_SetWeakHandleReturnValue (allows a weak handle to be passed to the
return value, this ensures a new local handle does not have to be created
from a weak handle just to return a value)
- Dart_StringGetProperties (gets some common properties of a string, avoids
multiple API calls to set up a native string)
R=srdjan@google.com , vsm@google.com
Review URL: https://codereview.chromium.org//22632010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26046 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-13 01:19:25 +00:00
iposva@google.com
54b3efeede
- Remove unused run state from the isolate.
...
Review URL: https://codereview.chromium.org//22477005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25909 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-08 01:02:13 +00:00
johnmccutchan@google.com
97ef50a1b2
Support stacktrace and objecthistogram service commands
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19870006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25726 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 00:24:09 +00:00
johnmccutchan@google.com
ea3a5cfb93
VM Service isolate listing
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19622003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25279 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 15:39:03 +00:00
johnmccutchan@google.com
7f993f87ee
Object ID Ring with tests
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//18259014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25063 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 18:31:25 +00:00
johnmccutchan@google.com
4aeef86a3d
Call shutdown callback before the isolate is destroyed
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//18862004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24844 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 14:59:01 +00:00
hausner@google.com
1e955965df
Better single stepping in VM debugger
...
Single stepping now steps into the next dart code that the
user is interested in, including from one asynchronous task
to the next.
R=asiva@google.com
Review URL: https://codereview.chromium.org//17846009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24632 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-01 17:29:18 +00:00
asiva@google.com
8e27430ddd
- Create isolate specific resuable handles and use them in the hot lookup paths.
...
- Create a ResuableHandleScope class which ensures that we do not end up
recursively reusing handles leading to corruption.
This change shows Dart2JSCompileAll runtime change from 739931 to about
645035 on my local machine.
R=iposva@google.com
Review URL: https://codereview.chromium.org//16174008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24373 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:41:01 +00:00
johnmccutchan@google.com
b7003f166b
Stop unwanted class finalization when using dart:io HttpClient from builtin.dart
...
BUG=11232
R=iposva@google.com
Review URL: https://codereview.chromium.org//17503002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24252 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 20:51:14 +00:00
bak@google.com
5cb3b20063
Object histogramin the vm (--print-object-histogram).
...
Reviewed and LGTMed in:
https://codereview.chromium.org/16077018/
Review URL: https://codereview.chromium.org//16853006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23954 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 09:06:43 +00:00
kmillikin@google.com
1248115680
Remove the IC data array from the isolate.
...
Thread it as an argument rather than storing it in a global variable. This
means the programmer does not have to implement a shadow stack to save and
restore the data array, and there is no special handling needed for GC.
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//15470013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22982 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-22 06:21:57 +00:00
srdjan@google.com
142b49316a
Fix issue 5275: The VM must always generate the most compact form of an integer (Smi, Mint or Bigint). Hide methods that can be used to bypass that assumption and require the use of Integer::NewXXX which is guaranteed to return the most compact integer form.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//14962008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22816 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-16 20:49:06 +00:00
vegorov@google.com
2565ca222f
Implement a variation of scalar replacement for non-escaping allocations.
...
AllocationSinking pass discovers non-escaping allocations that have no input uses other than uses in the stores into its own fields.
Every environment use of such allocation is replaced by a state snapshot (MaterializeObject instruction) that describes the state of each initialized field in the object. State snapshots are computed through an additional round of load-forwarding.
Once snapshots are computed allocations are removed from the graph.
MaterializeObject instructions are not compiled into native code but produce deoptimization instructions instead that describe how object should be materialized at deoptimization.
Deoptimization instructions now follow the following format:
[mat obj #1 ]...[mat obj #N][ret addr][... mat arguments ...][... real frames ...]
- the prefix describes each object to materialize on deopt via kMaterializeObject instruction;
- actual values that are needed for materialization are emited as a part of bottom-most stack frame. This is done to simplify implementation: they need to be discoverable by a GC during materialization phase. At the end of deoptimization they will be removed from the stack;
- normal stack slots can refer to materialized objects via kMaterializedObjectRef instruction.
Additionally this change contains fixes in load-forwarding that are needed to guarantee that all artificial LoadField instructions inserted during AllocationSinking are correctly replaced with actual values.
Limitations of the current implementation:
- can't eliminate allocations that flow into phis but otherwise don't actually escape;
- can't sink allocations out of loops;
- allocation with type arguments are not handled.
R=regis@google.com , srdjan@google.com , zra@google.com
Review URL: https://codereview.chromium.org//14935005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22485 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 23:40:42 +00:00
asiva@google.com
ea5a3919c5
Resubmit 22380 after fixing the windows build.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//14645025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22396 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 22:50:26 +00:00
iposva@google.com
083c9e5e95
- Remember the fact that an object has been added to the
...
store buffer by a bit in the header.
- This bit can be used to filter out redundant additions
into the store buffer making the dedup sets not needed.
- Remove the need for a HashSet when remembering old to
new references.
Review URL: https://codereview.chromium.org//14307013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22393 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 20:59:42 +00:00
asiva@google.com
dab8758e7a
Revert 22380 to investigate windows build break.
...
Review URL: https://codereview.chromium.org//14927003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22382 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:26:34 +00:00
asiva@google.com
27e78fb6f8
Second step towards loading core library scripts directly from the sources
...
- Modify the library source generator to generate a source mapping array
The generated array is of the following format:
const char* dart::Bootstrap::corelib_source_paths_[] = {
"dart:core", "/workspace1/dart-all/dart/sdk/lib/core/core.dart",
"bool.dart", "/workspace1/dart-all/dart/sdk/lib/core/bool.dart",
...
...
};
- Read the source file using the source mapping array instead of relying on
a generated buffer containing the sources
- Modify the gyp files to ensure that all libraries are read directly
from the sources. This CL does not change the patch part yet.
Remove the source concatentation step in the gypi files for all the core
libraries.
R=hausner@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//14786012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22380 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:12:24 +00:00
tball@google.com
ee8ce4a2d3
Resubmission of 21573, with corrected strndup call.
...
Review URL: https://codereview.chromium.org//14308006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21579 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 21:05:37 +00:00
tball@google.com
bffac5979d
Rolled back due to missing Windows strndup.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21575 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 20:47:32 +00:00
tball@google.com
56b980f2aa
Fixed stack trace for isolates without any Dart frames. Updated
...
stats display to display empty stack dumps, and reduced screen
update time.
Review URL: https://codereview.chromium.org//13939003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21573 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 20:40:56 +00:00
tball@google.com
6e3f3040a4
Added a run state field to Isolate, to show when it is executing code.
...
Review URL: https://codereview.chromium.org//13932024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21561 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 17:50:25 +00:00
iposva@google.com
0d8ff3ef16
- Add OS::StrNDup instead of redefining it when needed.
...
Review URL: https://codereview.chromium.org//13994008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21368 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 16:19:10 +00:00
iposva@google.com
0d0fcbe7e1
Changelist to land https://codereview.chromium.org/13452007/ for Siva.
...
Review URL: https://codereview.chromium.org//13813018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21160 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-09 17:51:24 +00:00
tball@google.com
95dfaf1718
Updated VM stacktrace support (20898) with platform-
...
independent version of strndup.
Review URL: https://codereview.chromium.org//13587008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20936 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 18:48:24 +00:00
tball@google.com
404dc8ca8b
Rollback of 20898 (Windows doesn't support strndup)
...
Review URL: https://codereview.chromium.org//13583008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20901 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 22:29:07 +00:00
tball@google.com
94c40f13f3
Added VM support for isolate stacktrace status.
...
Review URL: https://codereview.chromium.org//12842015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20898 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 22:03:06 +00:00
tball@google.com
6044627aa6
Rollback stacktrace change.
...
Review URL: https://codereview.chromium.org//12894005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20496 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:26:37 +00:00
tball@google.com
044a872ba5
Added VM support for isolate stacktrace status.
...
Review URL: https://codereview.chromium.org//12578022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20494 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:16:40 +00:00
johnmccutchan@google.com
3d4778e2c2
SIMD plumbing
...
Review URL: https://codereview.chromium.org//12871015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20287 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-20 20:29:00 +00:00
regis@google.com
1b274ff2cf
Remove the barely used macro assemblers after merging their contents to the base
...
assemblers.
Review URL: https://codereview.chromium.org//12398029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19434 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 00:04:32 +00:00
regis@google.com
3b374ead4b
Compile and simulate first dart function on arm generated from ast.
...
Review URL: https://codereview.chromium.org//12335102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19152 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 17:13:51 +00:00
tball@google.com
4c4482e4c7
Initial prototype of vmstats support, based on Dart VM Stats draft design doc.
...
Review URL: https://codereview.chromium.org//12221022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19091 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-26 22:34:08 +00:00
regis@google.com
163db76189
Hook up simulator (if needed) when calling Dart code.
...
Merge identical InvokeDynamic and InvokeStatic to InvokeFunction.
Remove redundant argument from InvokeClosure.
Review URL: https://codereview.chromium.org//12315087
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18994 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-25 19:30:29 +00:00
regis@google.com
cd746c8172
Initial revision of ARM simulator and (empty) MIPS simulator.
...
Review URL: https://codereview.chromium.org//12041056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17623 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 01:16:35 +00:00
asiva@google.com
f4fe42c280
Added macros OBJECT_IMPLEMENTATION and FINAL_OBJECT_IMPLEMENTATION
...
which have different implementations of 'operator=' and 'operator^='.
In the case of FINAL_OBJECT_IMPLEMENTATION we do not do the vtable setting
in these methods (Note the |= operator functionality is now subsumed into
the new implementation of "operator^=")
Review URL: https://codereview.chromium.org//12052033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17491 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-23 20:01:31 +00:00
srdjan@google.com
d56766f251
More ^= to |=
...
Review URL: https://codereview.chromium.org//11941021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17308 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 19:43:19 +00:00
regis@google.com
912194a756
Fix vm code base so that it can be built for --arch=simarm (no snapshot yet).
...
Review URL: https://codereview.chromium.org//11956004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17246 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 00:34:20 +00:00
iposva@google.com
3e367a12d8
- Consolidate verbose-gc output to be a single line which can be imported easily into spreadsheets.
...
Review URL: https://codereview.chromium.org//11734028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16624 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-04 02:15:36 +00:00
meh@google.com
432978367e
Clean up CodeObservers
...
Move CodeObserver registration to the OS abstraction.
Move Pprof logic to the OS abstraction.
Remove pprof from VM tests because now pprof logic is in the VM itself.
Add DISALLOW and AllStatic to Code Observers where appropriate.
Previous review: https://codereview.chromium.org/11572032/
BUG=7321
Review URL: https://codereview.chromium.org//11660011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16462 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-22 00:23:25 +00:00