onExit: exitPort.sendPort,The group's heap still exists when this fires and we might accumulate too many groups and exhaust the usable address space. Is there a better way to way for the group to shut down before creating the next one?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
onExit: exitPort.sendPort,The group's heap still exists when this fires and we might accumulate too many groups and exhaust the usable address space. Is there a better way to way for the group to shut down before creating the next one?
Not sure.
Introduce vmservice event for that in lib/vmservice/constants.dart and wait for the event to show up?
Run the test via embedder that has isolate group cleanup callback set up?
VirtualMemory::Allocate(kBlobSize, /* is_executable */ false, "test");`/*is_executable=*/false` ?
static constexpr intptr_t kCapacity = 128 * kWordSize;Perhaps add a comment on how to this relates to `kWordSize <=4 ? 16: 32` values for new_gen_semi_max_size specified in main_impl.cc.
// Without compressed pointers, there is a process-wide cached. With compressedcache
// We don't automatically use the cache based on size and type because a
// large page that happens to be the same size as a regular page can't
// use the cache. Large pages are expected to be zeroed on allocation but
// cached pages are dirty.Large page is just one example of why we can't reuse it right? There are also image and frozen page. Perhaps update comment to reflect that.
// Allow caching up to one new-space worth of pages to avoid the cost unmap"cost of"? or "costly"?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Commit-Queue | +1 |
Alexander AprelevThe group's heap still exists when this fires and we might accumulate too many groups and exhaust the usable address space. Is there a better way to way for the group to shut down before creating the next one?
Not sure.
Introduce vmservice event for that in lib/vmservice/constants.dart and wait for the event to show up?
Run the test via embedder that has isolate group cleanup callback set up?
From a discussion with Nate, I added a flag to avoid allocating the guard regions, which may also be useful to anyone already using a large number of small isolate groups.
VirtualMemory::Allocate(kBlobSize, /* is_executable */ false, "test");Ryan Macnak`/*is_executable=*/false` ?
Done
static constexpr intptr_t kCapacity = 128 * kWordSize;Perhaps add a comment on how to this relates to `kWordSize <=4 ? 16: 32` values for new_gen_semi_max_size specified in main_impl.cc.
Done
// Without compressed pointers, there is a process-wide cached. With compressedRyan Macnakcache
Done
// We don't automatically use the cache based on size and type because a
// large page that happens to be the same size as a regular page can't
// use the cache. Large pages are expected to be zeroed on allocation but
// cached pages are dirty.Large page is just one example of why we can't reuse it right? There are also image and frozen page. Perhaps update comment to reflect that.
Done
// Allow caching up to one new-space worth of pages to avoid the cost unmap"cost of"? or "costly"?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
7 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:
```
The name of the file: runtime/vm/heap/page.cc
Insertions: 11, Deletions: 7.
The diff is too large to show. Please review the diff.
```
```
The name of the file: runtime/vm/heap/freelist_test.cc
Insertions: 4, Deletions: 4.
The diff is too large to show. Please review the diff.
```
```
The name of the file: runtime/tests/vm/dart/isolates/send_list_typed_data_spawn_uri_test.dart
Insertions: 2, Deletions: 0.
The diff is too large to show. Please review the diff.
```
```
The name of the file: runtime/vm/virtual_memory_compressed.cc
Insertions: 18, Deletions: 4.
The diff is too large to show. Please review the diff.
```
```
The name of the file: runtime/vm/heap/page.h
Insertions: 4, Deletions: 1.
The diff is too large to show. Please review the diff.
```
[vm] Allocate separate cages for each isolate group under compressed pointers.
TEST=ci, local Fuchsia build
Change-Id: I3919eb1ca8e5d282d9bf6394cf37973569bd021f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/513940
Reviewed-by: Alexander Aprelev <a...@google.com>
Commit-Queue: Ryan Macnak <rma...@google.com>
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |