dart-sdk/pkg/vm_service
Liam Appelbe 875922a88f [vm]: Rewrite library_filters in source_report
When library_filters were given, we used to prefill the script_table_,
then just assume that any scripts not in the script_table_ must have
been filtered out. We wrote it this way to avoid checking the filters
in every GetScriptIndex call. But in some cases (eg mixins),
lib.LoadedScripts() can miss some scripts, so they'd be incorrectly
omitted from the table.

The new implementation lazy loads the scripts, the same way it works
when there are no library_filters. Skipped scripts are still placed in
the script_table_, but given an index of -1, and omitted from
script_table_entries_.

Bug: https://github.com/dart-lang/sdk/issues/49887
Change-Id: Ide938ddfa9a3750c72c615e296b1a23875e46ab8
TEST=CI (also manually tested that the bug is fixed, but it's a really fiddly setup and I'm not sure how to put it in a unit test. See bug for details)
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260076
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2022-09-26 23:03:18 +00:00
..
example [pkg/vm_service] turn on a few more lints for this package 2022-09-19 17:02:14 +00:00
java [pkg/vm_service] turn on a few more lints for this package 2022-09-19 17:02:14 +00:00
lib Extend HeapSnapshotGraph API to support incoming references in package:vm_service 2022-09-23 10:11:41 +00:00
test [vm]: Rewrite library_filters in source_report 2022-09-26 23:03:18 +00:00
tool [pkg/vm_service] turn on a few more lints for this package 2022-09-19 17:02:14 +00:00
.gitignore
analysis_options.yaml [pkg/vm_service] turn on a few more lints for this package 2022-09-19 17:02:14 +00:00
CHANGELOG.md [ VM / Service ] Add isolateGroupId to IsolateRef and Isolate 2022-08-24 18:40:49 +00:00
LICENSE
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
pubspec.yaml [ VM / Service ] Add isolateGroupId to IsolateRef and Isolate 2022-08-24 18:40:49 +00:00
README.md [pkg] normalize the headers of the pkg/ readmes 2022-05-31 21:00:13 +00:00

pub package package publisher

A library to access the VM Service Protocol.

Usage

See the example for a simple use of the library's API.

The VM Service Protocol spec can be found at github.com/dart-lang/sdk/runtime/vm/service/service.md.

Features and bugs

Please file feature requests and bugs at the issue tracker.