Commit graph

1353 commits

Author SHA1 Message Date
Jason Simmons 09ecfca470 [observatory] Use month numbers ranging from 1-12 in the timeline default filename
Change-Id: I6184efa1e4d7d64e3f0fc4def14587898d29601a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128983
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2019-12-18 23:17:11 +00:00
Ryan Macnak 98da22a11f [observatory] Display process-wide memory usage with heap snapshots.
Include major memory users known to the VM: isolate heaps, profiling buffers, timeline buffers.

Change-Id: I2580ad74b5d4d07c5c75fde28bb7a5d71fddb09b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127382
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-12-07 00:28:15 +00:00
Ryan Macnak 80aa5fda4b [observatory] Account for external size in the "Classes (table)" and "Classes (treemap)" views.
Mechanically, this renames shallowSize to internalSize and redefines shallowSize as internalSize + externalSize.

Change-Id: I734f5714ad6dff341627e3d6e51e3bdcf26c63ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125993
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-12-06 23:20:04 +00:00
Ryan Macnak f4e44dd705 [vm] Make kernel buffers live exactly as long as their derived views.
When creating a KernelProgramInfo, we create several logical views into the kernel buffer. These are fresh ExternalTypedDatas, rather than proper TypedDataViews, so they do not automically keep the original ExternalTypedData alive. Create an explicit reference to the orginal ExternalTypedData in the KernelProgramInfo. When creating snapshots, this reference is ignored/null'd and the views are turned into copies, effectively dropping the parts of the original buffer that do not have views.

Fixes a leak with reload and a use-after-free with eval.

Bug: https://github.com/dart-lang/sdk/issues/33973
Bug: https://github.com/dart-lang/sdk/issues/39610
Change-Id: I09d3830133314ccbaa0341d904127c2b6925c4ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126825
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-12-03 22:00:48 +00:00
Zichang Guo bf69257c5f [dart:io] socket profiler in dart:io
Add socket profiler functionality through service extension.

Change-Id: I717b72fbb1c53503dfb8fa08789417c18300565d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124582
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-02 19:11:18 +00:00
Ben Konyi c2c716d0c5 [ Observatory ] Fix issue where timeline would hang if CPU profiling was disabled.
When CPU profiling is disabled, the getCpuSamples RPC would return with
a ServerRpcException stating that the profiler was disabled. This wasn't
being caught when the RPC was invoked, but was being caught in
`ObservatoryApplication` and swallowed. This resulted in the timeline
page being stuck at the timeline loading dialog.

Also includes fixes from "[observatory] Properly wait for Catapult's iframe to load. Give
message while fetching timeline.", commit 3b99524167, which was reverted.

Change-Id: I2fe23d4dba5e20f717e111c519563866bb1a221c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126402
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-11-26 22:00:20 +00:00
Ben Konyi 3b99524167 Revert "[observatory] Properly wait for Catapult's iframe to load. Give message while fetching timeline."
This reverts commit b3cf5ef327.

Reason for revert: Breaking timeline view for users in Google3

b/141889413
b/145128403

Original change's description:
> [observatory] Properly wait for Catapult's iframe to load. Give message while fetching timeline.
> 
> Change-Id: I342c9315fc31021fb1387bc0e409645cd7a99d6a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125468
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Ryan Macnak <rmacnak@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I38b92a5a50955983369f4de7afb577d1a959e724
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126360
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-11-26 15:49:53 +00:00
Ryan Macnak b3cf5ef327 [observatory] Properly wait for Catapult's iframe to load. Give message while fetching timeline.
Change-Id: I342c9315fc31021fb1387bc0e409645cd7a99d6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125468
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-11-20 19:55:31 +00:00
Ben Konyi cfd226a27f [ dart:http ] Fix issue where setting HttpClient.enableTimelineLogging wasn't actually enabling timeline logging
Change-Id: I12134eaf1cd79516376d266b9919535987f7703b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125565
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-11-18 22:17:55 +00:00
Ben Konyi 1c12878d05 [ dart:io ] Added timeline events for HttpClient connections and requests
Setting the `enableTimelineLogging` property of `HttpClient` to true results in
timeline events being created for HTTP connections and HTTP requests.
Timeline events contain general connection information, including:
  - Request type
  - Status code
  - Request / response headers
  - Cookies
  - Non-sensitive proxy information
  - Relevent error messages for failed connections

Change-Id: Ibe16a312ab5398c9ae886ea07bea5ca70b63e440
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123540
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-11-16 00:46:46 +00:00
Ryan Macnak 545b10389d [vm, service] Compute allocation stats on demand, instead of during allocation and GC.
Removes support for accumulators, which now repeat the current live values.
Decreases performance difference between release and product modes.
Fixes inaccuracy when counters are queried before the first full GC.

Golem geomean   x64 4.687%
Golem geomean arm64 5.770%

Bug: https://github.com/dart-lang/sdk/issues/37678
Change-Id: I12b26a9834b0f0f911ddcc6e8e5ff4573272607d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116885
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-11-16 00:22:56 +00:00
Sigmund Cherem a75ffc8956 Add non-NNBD language version marker to all sdk (non-nnbd) files
This is practically a copy of the change in
https://dart-review.googlesource.com/c/sdk/+/118040 but applied to the non-nnbd
sdk.

Even though there is no intent to run the non-nnbd sdk with the non-nullable
experiment, we need to add this annotation because of how we
intend to gradually start testing NNBD. The libraries.json under
sdk_nnbd is allowed to point to libraries under the non-nnbd sdk in order to
temporarily build without errors until all patch files are migrated and all CFE
issues are addressed.

Change-Id: I53c1123a8d86c10695832a8a0ad35adb7b4d92fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125181
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-15 00:22:47 +00:00
Samir Jindel 6c5033acac Re-land "[vm/async] Don't add an <asynchronous gap> marker along sync-async calls."
Original change is in patchset 1.

The issue was that the expected "_Closure.call" frame is not always present.

Change-Id: I91116861e785a72536dde300f4771de4f6fa9d3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124988
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-11-14 15:29:16 +00:00
Régis Crelier b5110a59a9 Revert "[vm/async] Don't add an <asynchronous suspension> marker along sync-async calls."
This reverts commit f4d930997b.

Reason for revert: Different tests are failing on different bots.

Original change's description:
> [vm/async] Don't add an <asynchronous suspension> marker along sync-async calls.
> 
> This fixes `package:stack_trace` in the sync-start case of async/async* calls.
> 
> Change-Id: I5c41a35283439f533ab19c9fd1cc542931de4b43
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124560
> Commit-Queue: Samir Jindel <sjindel@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=kustermann@google.com,sjindel@google.com

Change-Id: Ib3e1b303613f0393dac6b1b81e8d1ffb322052b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124800
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-11-11 19:03:54 +00:00
Samir Jindel f4d930997b [vm/async] Don't add an <asynchronous suspension> marker along sync-async calls.
This fixes `package:stack_trace` in the sync-start case of async/async* calls.

Change-Id: I5c41a35283439f533ab19c9fd1cc542931de4b43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124560
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-11-11 16:36:43 +00:00
Ben Konyi f908fb67ce [ VM / Service ] Fix potential race in service test helper
We attempted to delete the file with service protocol information
immediately after retrieving the URI. However, the spawned process could
potentially still have that file open which will cause the deletion to
fail on Windows. Fix is to wait until the process closes before deleting
to ensure it's not holding onto the file.

Change-Id: I85f715ad0570d121365373d498e539a667bd9d02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124165
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-11-05 20:21:43 +00:00
Ben Konyi 917ba19c1a [ VM / Service ] Remove flaky portion of get_flag_list_rpc_test
Change-Id: I307589d3b38d15dee5e4c05020fa8d733241c7db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123695
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-11-01 00:23:50 +00:00
Ben Konyi bc6cadfac4 [ VM / Service ] Fix get_flag_list_rpc_test for real this time
Change-Id: I41c31d06ba1a685275b1a7d66baaecd5deaf4fa0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123821
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-31 23:40:57 +00:00
Ben Konyi 0dd494bc54 [ VM / Service ] Fix get_flag_list_rpc_test failing on release builds.
Change-Id: I1976bb80463da728acc6178707a22cb4b7013c3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123693
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-10-31 21:59:54 +00:00
Ben Konyi 60c34ac420 [ VM / Service ] Allow for the profiler to be enabled/disabled via SetFlags RPC
Disabling the profiler will **not** release the sample buffer on Linux,
MacOS, and other platforms which utilize signals for profiling as
there's no way to ensure all signals have been receieved after the
thread interrupter has been shutdown.

Change-Id: Ifb3230fdb95e9bc9147cbd4b85d1a84e976ce119
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123554
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-31 21:18:38 +00:00
Jason Simmons 262fadc6cf Change the type of RetainingPathItem.parentField to String in the observatory
This matches a change in the type of parentField within the VM service
(see https://dart-review.googlesource.com/c/sdk/+/108560)

Change-Id: Ib0d20c79bb26a3674cef1c52bf9509fb316bb52c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123472
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2019-10-30 17:36:14 +00:00
Samir Jindel c885bdde1d [vm] DBC is obsolete. Remove dead code.
Change-Id: Ica33af158cca53c8e951e4b2582de83660e8a60d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121851
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-27 18:18:29 +00:00
Sam Rawlins fd0617bd98 Improve listToString and setToString documentation. Fixes #26529
Bug: https://github.com/dart-lang/sdk/issues/26529
Change-Id: I4e2994dd39c676c2136c82d3e5dd9f45a8b154ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/82784
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-10-18 18:15:52 +00:00
Alexander Aprelev 9e636b5ab4 Reland "[vm/service] Introduce IsolateGroup entity to vm service api.""
This reverts commit f020ce5d23 with patchset 1 having original revert, rest - fixes
for calling destructors on unlinked IntrusiveDL elements and for assuming int is int64(which breaks down on simarm, ia32 bots).

Fixes https://github.com/dart-lang/sdk/issues/38926

Issue https://github.com/dart-lang/sdk/issues/36097

Change-Id: I867526c7de3786806670d1f43dbff07228f80028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121870
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-17 03:45:41 +00:00
Ben Konyi 558875d480 [ VM / dart:io ] Added service extension scaffolding for dart:io network profiling
Change-Id: I531f002da65a3ea1439a6ed93d9698323f48bd31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121888
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-10-16 22:48:46 +00:00
Alexander Aprelev f020ce5d23 Revert "[vm/service] Introduce IsolateGroup entity to vm service api."
This reverts commit f219e5152d as it breaks few bots.

Change-Id: I8d1d42d1ac662c2dba9ea9270c7a6cdc4f0621bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121886
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-10-16 19:45:23 +00:00
Alexander Aprelev f219e5152d [vm/service] Introduce IsolateGroup entity to vm service api.
This is to enable vm clients to ask how much memory is consumed by isolate group.

Issue https://github.com/dart-lang/sdk/issues/36097

Change-Id: I4f1c499bf02c20b80e9802d8ad60e7ea65cfb375
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119724
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-16 18:05:06 +00:00
Zichang Guo 418b646749 [vm/debugger] not pausing exceptions on implicit throw
Ignoring exceptions that coming from implicit throw. For example, try finally block will generate an implicit throw inside finally block to rethrow the exception.

Bug: https://github.com/dart-lang/sdk/issues/37645
Change-Id: I5c4f90ec3c9aa92bb670d4bb9a8edb332f7b32fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118911
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-10-05 00:33:32 +00:00
Ben Konyi 38f78c01f3 [ dart:developer ] Updated parentId argument for timeline events to use base64 to be consistent with async ID formatting
Change-Id: I96314f5712b722da5188c0a447a12c9c5fe6064b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120322
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-10-04 23:27:22 +00:00
Zichang Guo 28f21d4e99 [vm/bytecode] correct source position of clearAsyncThreadStackTrace
source position of clearAsyncThreadStackTrace should not have a valid source position.
This fixes code coverage regression.

Bug: https://github.com/dart-lang/sdk/issues/38628
Change-Id: I41b1822a07b9d4becdda58bb810f03733289cd2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120002
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-10-04 03:12:53 +00:00
Ben Konyi 56a28260fd [ Observatory ] Fixed issue where timeline save functionality was consistently failing
Timeline save functionality was broken after a recent redesign of how
CPU samples are pushed over the service protocol. When the save button
on the timeline page was clicked, the "traceObject" variable was
undefined, causing the save to fail.

Fixes https://github.com/flutter/flutter/issues/41746

Change-Id: Icd3e9c841431c790dd7f49107f0c5d39f0088cd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120000
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-10-03 21:28:12 +00:00
Ben Konyi e87f3407c8 [ dart:developer ] Added optional parent parameter to TimelineTask constructors.
Specifying a parent will result in an argument being added to 'start'
events for that TimelineTask named 'parentId', which contains the task
ID of the parent. This is to be used by DevTools to show relationships
between asynchronous tasks that are not currently supported in the trace
event format used by Catapult.

Change-Id: Id0a030f018f5a6ac1e3b0ef2e89c1cd732790f02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119520
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-03 16:33:38 +00:00
Alexander Markov 1ed707703d [vm/bytecode] Mark try blocks generated for try/finally as synthetic
This matches behavior of AST-based flow graph builder. Debugger ignores
synthetic (is_generated) try blocks when it figures out if thrown
exception is unhandled, so in order to ignore all try/finally blocks
they should be marked as synthetic.

Fixes https://github.com/dart-lang/sdk/issues/38697

Change-Id: I06840362a255b500e1e9317af90a61bbdea2a310
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119726
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-02 23:15:11 +00:00
Ben Konyi 7e4058e3a5 [ VM / Service ] Update service tests to no longer use --disable-service-auth-codes
Also fixed issue where --write-service-info could not accept URIs.

Change-Id: I0b136dd83335f0aed260850b2e5a5aed36df4317
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119083
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-09-30 17:47:03 +00:00
Ryan Macnak 14983a2941 [vm/bytecode] Add timeline events for major compilation phases.
Change-Id: Ie2a1f8a5979bb58133535b7698c5137d4ab2b046
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118648
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-30 16:36:09 +00:00
Ben Konyi 35748514c7 [ VM / Service ] Added additional tests for package:vm_service and fixed service bugs
Change-Id: I3c96521a16bf0493cd0dc7ca9249487b3d9e3e64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118465
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2019-09-25 00:39:56 +00:00
Zichang Guo 77ff89b223 [vm] disallow breakpoint on non-debuggable library
There is no clear defination on setLibraryDebuggable in rpc. But obviously breakpoint should be not set and hit if library is not debuggable. Correct this behavior.

Bug: https://github.com/dart-lang/sdk/issues/36914
Change-Id: Ic75f89055eeb69279a504366fe35f3e98b173abf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118340
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-09-23 15:31:28 +00:00
Zichang Guo 3731cfdef9 [vm] source report marks all const field as executed
Since const evaluation has been done at the front end, skip evaluating all static const field in source report.

Bug: https://github.com/dart-lang/sdk/issues/38284
Change-Id: I876a173b1643d3836277ebcfc1f8546a1f4c71ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117166
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-09-18 14:44:47 +00:00
Alexander Aprelev 68022510a4 Revert "[vm, service] Remove _collectAllGarbage."
This reverts commit 09ce6d30e7 as it
breaks Flutter, which currently uses this method.

Change-Id: I2a06d48260970cc086a922f1d1f87d17716e8920
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117006
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-09-12 18:41:08 +00:00
Zichang Guo 59bcc4ea1e [vm/kernel] record yield positions at streaming flow graph builder
Collect yield positions inside StreamFlowGraphBuilder. BuildGraph() when yield_positions() are required. All yield positions will be stored into script as a hashmap. Key of hashmap is the starting token position of function, value is an array containing all yield positions.

Bug: https://github.com/dart-lang/sdk/issues/37635
Change-Id: I6d301d1cb0f74c432f855c9dbc20ac2c13acb07f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116743
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-12 16:37:16 +00:00
Ryan Macnak fb2e6c6d0d [test] Remove non-kernel versions of service tests.
Change-Id: I3b849e5af72a021208836d98e251d771740c80dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116553
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-11 16:55:47 +00:00
Ryan Macnak 7bbfd532de [vm, reload] Remove _getUnusedChangesInLastReload.
This function has been unused for a long time.

Also, computing fingerprints for bytecode function causes bytecode to be loaded, which can lead to an old enum class being initialized with enum values for the new enum class, causing a forwarding loop when migrating enum values.

Change-Id: Iad9b2bb11aaf161d66f7752cb99cc4b4fc9fb310
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116442
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-10 17:36:24 +00:00
Dmitry Stefantsov ccb6ba948b [cfe] Gather constraints from both possibilities for FutureOr
Closes #37778.

Bug: http://dartbug.com/37778.
Change-Id: Ia8828c27ccc912831a0fea8a473c547184c99229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115243
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-10 09:50:30 +00:00
Ryan Macnak 2e8d912848 [developer] Allow async end events to have independent arguments.
This matches the behavior in the Chrome and Fuchsia tracing macros.

Change-Id: I7e5759409af5262e6e2596384c67a2eb70d48cd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114545
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-09 17:00:47 +00:00
Ryan Macnak 09ce6d30e7 [vm, service] Remove _collectAllGarbage.
System.gc() considered harmful.

Change-Id: I227a092e7734176b55c269f4f611ef1d4293da99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116044
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-09-09 16:56:27 +00:00
Ben Konyi 68dede011e [ VM / Service ] Add getCpuProfileSamples RPC which returns a minimally processed sample buffer.
Change-Id: Ic0a47d5eea692b235327622508d904f7396babe3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112265
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-09-07 01:04:08 +00:00
Ryan Macnak 5a45050d1e [observatory] Flatten the heap snapshot before loading.
This improves the time to deserialize a snapshot. It also doubles the memory needed to receive the snapshot buffer, but the memory high water mark is still computing the dominators.

Change-Id: Ib93015cd6cb366dd2ff750da09ddaa3b37159f68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115010
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-05 17:27:06 +00:00
Robert Nystrom 89ad636b58 Remove the old "preview Dart 2" flags from the test runner.
Dart 2 shipped a year ago, so we're pretty well past a "preview". :)

Change-Id: I6c5d21ae4181e4228cc1fc49b6344cdb8fc43794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115544
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2019-09-05 16:59:43 +00:00
Régis Crelier 15c1487874 [vm/bytecode] Allow breakpoint on rethrow; mark closures as debuggable or not.
Generated rethrow statements do not require a 'DebugCheck', but explicit rethrow
statements do, so that user breakpoints can be set on rethrow.
Add a IsDebuggable flag on bytecode closures and set it properly.
Remove unused code in a service test.
Add verbosity to debugger.

Change-Id: Ia436cbe62e38cfaec6f9fdf7f8cc2ee5607228e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115602
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-04 23:56:16 +00:00
David Morgan 54b95f1c8b Revert "[SDK] Remove dart:profiler library which has been deprecated since Dart 1.2"
This reverts commit 6f85cb83cf.

Reason for revert: CFE built before this CL breaks with dill built after; it expects dart:profiler to be present in the dill.

Original change's description:
> [SDK] Remove dart:profiler library which has been deprecated since Dart 1.2
>       and remove all references to it in tests and the SDK build scripts.
> 
> Change-Id: I65a4d71b74c66ca090eba28e922e2f70a7b2989d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114965
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I5fec5c7aec55377ba5cba0b55a25e67682220276
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115242
Reviewed-by: David Morgan <davidmorgan@google.com>
Commit-Queue: David Morgan <davidmorgan@google.com>
2019-09-03 14:26:26 +00:00