Si,
Thanks for your interest in the Dart VM implementation details.
Currently we implement a relatively simple garbage collection
algorithm. Our approach is as follows: The VM and its garbage
collection mechanism should not be in a Dart developer's way.
Essentially, we are trying to get to a point where you should not care
how the garbage collection is implemented and whether implementation
details change over time.
Initially we focused on a stable implementation, so if you push the VM
hard enough you will occasionally experience departure into unfriendly
territory. Addressing this is on our task list for the next months. We
will have to balance low latency (small pauses), high throughput, low
memory usage and low CPU consumption against each other. Some of this
will be work exclusively in the VM, while other areas we will have to
work with the Dart bindings layer in Chromium.
Hope this helps,
-Ivan