|
Only reload libraries when they may have been modified.
We now check all of the scripts which make up a library. If any
script is modified, then we consider that library to be modified. We
also consider any library which imports a modified library to be
modified. To propagate this info efficiently, we build and discard
the imported-by graph when beginning a reload.
The embedder must provide a FileModifiedCallback in order to support
the detection of modified scripts.
In order to detect changes to package: libraries, we have modified the
embedder interface to provide the resolved url when possible, so that
we don't need to re-resolve package uris when checking for reload.
This change is incompatible and all embedders will need to be updated.
We now support a "force" flag when reloading sources. This causes all
libraries to be reloaded regardless of whether the underlying scripts
have been updated.
Closes #26919
R=johnmccutchan@google.com
Committed: https://github.com/dart-lang/sdk/commit/1166f83bf6fcad764d7599b9f5e7bd80b242cf25
Total comments: 8
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+789 lines, -167 lines) |
Patch |
|
M |
runtime/bin/builtin.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/bin/dartutils.cc
|
View
|
|
3 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/bin/gen_snapshot.cc
|
View
|
|
4 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/bin/loader.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/bin/loader.cc
|
View
|
|
6 chunks |
+16 lines, -7 lines |
0 comments
|
Download
|
|
M |
runtime/bin/main.cc
|
View
|
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/bin/vmservice/loader.dart
|
View
|
|
7 chunks |
+18 lines, -11 lines |
0 comments
|
Download
|
|
M |
runtime/bin/vmservice_impl.cc
|
View
|
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/include/dart_api.h
|
View
|
1
2
|
5 chunks |
+99 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/include/dart_tools_api.h
|
View
|
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/bit_vector.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/bit_vector.cc
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl.cc
|
View
|
|
13 chunks |
+67 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl_test.cc
|
View
|
|
36 chunks |
+104 lines, -73 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.h
|
View
|
1
2
|
3 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.cc
|
View
|
1
2
|
2 chunks |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate_reload.h
|
View
|
|
9 chunks |
+28 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate_reload.cc
|
View
|
1
2
|
9 chunks |
+138 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate_reload_test.cc
|
View
|
1
|
1 chunk |
+162 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
|
2 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/service.cc
|
View
|
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/snapshot_test.cc
|
View
|
|
3 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/unit_test.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/unit_test.cc
|
View
|
|
6 chunks |
+36 lines, -21 lines |
0 comments
|
Download
|
Total messages: 7 (3 generated)
|