John McCutchan
59f50474c2
Add box slow path allocation stub to static calls target table
...
- Fixes a crash when tracing double allocation in optimized code.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1266033003 .
2015-08-03 13:19:57 -07:00
Todd Turnidge
fa1d1e9faf
Observatory fixes:
...
- Fix bug where we incorrectly tell the user to use "anext".
- Allow debugger input box to retain focus when curly-blocks are expanded.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1265153005 .
2015-08-03 13:16:30 -07:00
John McCutchan
868109bf97
Auto scroll debugger console text only when already scrolled down
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1263853004 .
2015-08-03 12:50:50 -07:00
John McCutchan
33831aaa6b
Add log support to debugger
...
- Add 'log' command to control log level.
- Manage Logging stream subscription whenever isolate changes.
- Rename _VMStreamPrinter to _ConsoleStreamPrinter.
- Pipe log events to _ConsoleStreamPrinter.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1258063005 .
2015-08-03 12:42:59 -07:00
John McCutchan
040ae23be8
Fix clean builds
...
BUG=
Review URL: https://codereview.chromium.org//1266043004 .
2015-08-03 12:16:58 -07:00
Srdjan Mitrovic
1a1ff00a29
Use zone when allocating handles in FlowGraphCompiler assembling operations. Add profiling VM tags for parse and flow graph builder, active only when --profile_vm. Lazily generate IR constant_value handles.
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org//1263573010 .
2015-08-03 10:10:24 -07:00
John McCutchan
fbb32461d8
Stop unnecessary Observatory rebuilds
...
*) Turns out that gyp generates broken Makefiles when a target has more than one output. Avoid this bug by changing Observatory targets to have one output.
*) NOTE: generate_snapshot_bin still has two outputs and will always rebuild because of this.
*) Some misc. cleanups to observatory.gypi (removing redundant dependencies / inputs).
R=zra@google.com
Review URL: https://codereview.chromium.org//1270033002 .
2015-08-03 10:04:27 -07:00
Florian Schneider
e1468b54a3
Fix use-after-free from my previous CL.
...
The destructor of Metric must be invoked on a running isolate (i.e.
before shutting down the isolate.)
BUG=
R=koda@google.com
Review URL: https://codereview.chromium.org//1263323003 .
2015-08-03 17:34:31 +02:00
Florian Schneider
ef7a55281f
VM: Load allocation-top and -end via Thread.
...
Cache a pointer to the isolate's Heap in the Thread object
and use it in generated code for allocation.
Change generated allocation code to load allocation-top and
end via THR (THR->heap.top). This is slightly slower than
embedding the address, but faster than loading it
via the Isolate (THR->isolate->heap.top)
BUG=
R=koda@google.com
Review URL: https://codereview.chromium.org//1263513002 .
2015-08-03 16:26:23 +02:00
Daniel Andersson
5583bc2b5f
Fix issue 23942 by updating expectations.
...
Some tasks might resume at SafepointThreads for one extra verfication round,
where they will see less than kTaskCount copies of the marker smi.
Also fix indentation.
BUG=23942
Review URL: https://codereview.chromium.org//1265503004 .
2015-07-31 23:03:31 -07:00
Daniel Andersson
e2f278b2c7
Mark safepoint tests as flaky while debugging.
...
TBR=iposva
BUG=23942
Review URL: https://codereview.chromium.org//1270803002 .
2015-07-31 22:29:44 -07:00
Daniel Andersson
500eb6d79d
Safepoint interface and unit tests.
...
Add infrastructure to enable all threads in an isolate to rendezvous at GC-safe points, and exercise it through unit tests.
* Use existing interrupt mechanism for Dart threads, but a cooperative approach for non-Dart threads (concurrent compiler, etc.): they must periodically call CheckSafepoint (may block).
* Add unit tests to exercise and verify various scenarios: organizing the rendezvous from helper/main thread, with/without Dart code executing, etc.
The next step is to use this interface in old-space allocation and garbage collection, respectively, to allow helper threads to perform allocations that potentially trigger GC (needed for concurrent compiler).
Limitations:
* A thread that is executing a long-running native function is currently not considered at a safepoint, and will delay the rendezvous until it returns to Dart or indirectly calls CheckSafepoint. In a future CL, we can use the saved stack pointer to detect and support this case, and intercept the thread if/when it re-enters Dart or the VM.
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1259223005 .
2015-07-31 19:53:14 -07:00
Siva Annamalai
ba415408e9
Temporary fix for pub crash by canonicalizing type only if the IsCreatedFromSnapshot bit is true (i.e restored the condition back to the way it used to be).
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org//1263843004 .
2015-07-31 17:04:32 -07:00
John McCutchan
319b274362
Stop displaying inline, optimized, and unoptimized tags next to functions in profile tree
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1269843007 .
2015-07-31 15:04:55 -07:00
John McCutchan
390a44ccdf
Make Observatory analyzer clean
...
BUG=
Review URL: https://codereview.chromium.org//1267033002 .
2015-07-31 14:57:55 -07:00
John McCutchan
fc2d849cd5
Fix http requests and the crash dump RPC
...
- Fix HTTP and crash dump service requests by giving them a non-null id.
- Add basic heartbeat test for _getCrashDump RPC over HTTP.
- Fix some analyzer warnings.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1266943005 .
2015-07-31 14:38:04 -07:00
Daniel Andersson
40fc14d75a
Fix incorrect expectation in allocations_test.
...
The old code worked most of the time, since the Foo objects were usually not promoted to oldspace.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1269553004 .
2015-07-31 14:34:23 -07:00
John McCutchan
4e9716ee40
Update view footer with github bug report url
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1254413011 .
2015-07-31 14:23:45 -07:00
John McCutchan
de035901a1
Introduce two utility elements for the cpu profiler
...
- Add <sample-buffer-control> which manages fetching a sample buffer from an isolate.
- Remove duplicate code by using <sample-buffer-control> in both the tree and table profile views.
- Add <stack-trace-tree-config> which manages how a stack trace tree should be displayed (function or code objects, bottom up or top down).
- Remove duplicate code by using <stack-trace-tree-config> in both the tree and table profile views.
This is the first of many CLs refactoring the CPU profile related code in Observatory. This introduces some naming inconsistencies (CpuProfile vs. SampleBuffer) that will converge to SampleBuffer over time.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1266193003 .
2015-07-31 14:19:17 -07:00
Daniel Andersson
32046b2eb8
Migrate stack resource unwinding to Thread.
...
Also remove some uses of deprecated StackResource constructor.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//1261873005 .
2015-07-31 12:57:19 -07:00
Regis Crelier
0778c11ffb
Save a few register moves in function prolog on arm64 by using the same pattern
...
as on x64 dealing with two pool pointers.
R=zra@google.com
Review URL: https://codereview.chromium.org//1259713005 .
2015-07-31 12:48:49 -07:00
Regis Crelier
cd00cf3f8e
Simplify constant pool usage in x64 code generator (by removing extra argument
...
to all code emitting routines that may access the pool).
R=zra@google.com
Review URL: https://codereview.chromium.org//1268783003 .
2015-07-31 12:38:33 -07:00
John McCutchan
67b480ee0d
Stop sniffing user agent in vm service http server
...
- We don't need this check anymore.
- Removing it fixes an issue with uberproxy.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1261483003 .
2015-07-31 12:20:56 -07:00
Ryan Macnak
2d6e6db843
Fix Dartium Mac build.
...
TBR=srdjan@google.com
Review URL: https://codereview.chromium.org//1268493006 .
2015-07-31 09:54:04 -07:00
Ryan Macnak
8a3e134502
Non-tree-shaking --precompile.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1261673004 .
2015-07-30 15:29:19 -07:00
Srdjan Mitrovic
cc1b7f0c3e
Fix inlining information:
...
Missing caller inlining id chain left the inlining chain truncated and incorrect.
Added full mapping: inlining-id to caller-inlining-id.
Remove fix from https://codereview.chromium.org/1259243005/
Added some of changes from https://codereview.chromium.org/1260163006/
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1268783002 .
2015-07-30 14:47:32 -07:00
Todd Turnidge
53dbc3764d
Support sending and receiving Capability objects from C code.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//1267603003 .
2015-07-30 14:07:36 -07:00
Siva Annamalai
325f40d9db
Fix for bug 21079
...
Implement patch records to patch canonical objects.
BUG=21079
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1255003004 .
2015-07-30 10:24:13 -07:00
John McCutchan
dc2450aaad
Move file i/o natives from builtin list to io native list
...
- This is being done so that Sky programs can perform file i/o.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1265703004 .
2015-07-30 09:08:40 -07:00
Rico Wind
93ec16c34c
Nuke some whitespace in observatory
...
R=johnmccutchan@google.com
BUG=
Review URL: https://codereview.chromium.org//1255273007 .
2015-07-30 17:47:50 +02:00
Siva Annamalai
ffbbfb52e1
Fix crash when reading the Richards snapshot generated on using a the 32 bit dart binary.
...
When transitionting a Mint object to a Smi on 64 bit architectures the corresponding object id was not preserved in the backward references table.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1264683002 .
2015-07-29 17:03:14 -07:00
Ivan Posva
a78db046a6
- Fix logic bug when skipping comments.
...
Review URL: https://codereview.chromium.org//1269643002 .
2015-07-29 15:39:51 -07:00
Regis Crelier
b5f4e95433
Simplify constant pool usage in arm64 code generator (by removing extra argument
...
to all code emitting routines that may access the pool).
Improve code loading immediates on arm64 (do not read from the pool if 1 or 2
immediate instructions will do).
R=zra@google.com
Review URL: https://codereview.chromium.org//1264543002 .
2015-07-29 15:21:20 -07:00
Ivan Posva
b07a9ddbca
- Implement .packages specification.
...
Limitation: Currently only works for file: based .package files. If a script is loaded from http: then the VM currently assumes a co-located packages/ directory.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1232593003 .
2015-07-29 11:30:33 -07:00
John McCutchan
ef11d0545b
Add unit test for CPU profile inline function expansion
...
- Add unit test for CPU profile inline function expansion.
- Fix missing frame bug in inline function expansion.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1259243005 .
2015-07-29 10:21:36 -07:00
John McCutchan
8afd3d67e7
Make binary events JSON-RPC 2.0 compliant as well.
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1258343004 .
2015-07-29 10:20:47 -07:00
Natalie Weizenbaum
61ea0618ce
Support JSON-RPC 2.0-compatible VM service events.
...
This adds a parameter to streamListen that will cause it to produce JSON-RPC
2.0-compatible events.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//1257943003 .
2015-07-28 17:17:40 -07:00
John McCutchan
8e71ddba47
Restore first frame tick exception in exclusive trees
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1260753005 .
2015-07-28 16:38:40 -07:00
John McCutchan
d9394ac865
Fix exception on first navigation to metrics page
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1262003002 .
2015-07-28 16:13:09 -07:00
Ryan Macnak
8c98455ab5
Retaining path improvements.
...
- Don't answer retaining paths that go through ICData.
- Associate edge labels with the referer instead of the referent.
- Give edge labels for VM classes (offsets only).
- Make is possible to distinguish closures and functions from their refs.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1246073005 .
2015-07-28 15:56:10 -07:00
John McCutchan
b2bdbfdc1e
Fix bad inclusive ticks for functions on release x64
...
BUG=
Review URL: https://codereview.chromium.org//1264523002 .
2015-07-28 15:18:29 -07:00
John McCutchan
902da6eeef
Restore code index tracking
...
BUG=
Review URL: https://codereview.chromium.org//1258363002 .
2015-07-28 14:54:46 -07:00
John McCutchan
62ada2042c
Refactor function tick code and add test
...
- Make ProfileFunction ticking semantics consistent with ProfileCode.
- Refactor ProfileFunction trie building code.
- Add test for ProfileFunction trees.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1261963002 .
2015-07-28 14:28:44 -07:00
Srdjan Mitrovic
fafbe30eb0
Fix #23871 : identical on consts should be always const
...
BUG=23871
R=hausner@google.com
Review URL: https://codereview.chromium.org//1259813003 .
2015-07-28 11:37:22 -07:00
John McCutchan
70a5561cef
Fix profiler exclusive code tree node counts
...
- Add unit tests.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1258783005 .
2015-07-28 11:33:42 -07:00
Siva Annamalai
b0c9f2ef9b
Fix for issue 23244
...
Refactoring of WriteObjectImpl and ReadObjectImpl to enable inlining of canonical objects in the snapshot stream.
BUG=23244
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1260033004 .
2015-07-28 10:52:05 -07:00
John McCutchan
3d0b3b6b2b
Fix ProfileCode ticking and add unit test
...
- Fix wrong loop indexer (two i variables...) use when ticking ProfileCode.
- Factor out exclusive / inclusive tick decision into a helper function.
- Adjust ProfileCode::Tick's semantics.
- Add unit test verifying ProfileCode tick semantics.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1260793003 .
2015-07-28 10:21:38 -07:00
Ryan Macnak
49cdeec99f
Don't do C++ field guards either when --use_field_guards=false.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1255373002 .
2015-07-28 09:45:30 -07:00
Florian Schneider
f8670e8f84
VM: Hoist handle allocation out of loop when creating the object pool.
...
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1253373002 .
2015-07-28 10:23:33 +02:00
Natalie Weizenbaum
90410aabbb
Fix some failing VM tests.
...
Review URL: https://codereview.chromium.org//1254723013 .
2015-07-27 17:48:31 -07:00