Files
sdk/runtime/tests/vm
Martin Kustermann 143c1b9dac [vm/concurrency] Ensure VM behaves well if custom embedder uses custom message handler with unlimited number of threads
If a custom embedder does not use the VM's thread pool implementation
(1) but instead installs a custom message handler and invokes that
message handler on possibly unlimted number of threads, those mutator
threads will be constantly fighting to obtain TLABs.

To avoid this, the VM will ensure that only a limited number of mutators
can execute at the same time. The limit is the same as we use for
determining the VM's mutator thread pool.

In order to test this, we simulate such an embedder by disabling the
mutator pool limit, thereby allowing unlimited number of thread pool
workers.
=> The added test would timeout without without the new limit imposed
   by this CL.

(1) Which has a maximum size adjusted based on TLAB size and new space size.

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

Change-Id: I6d459f85fbeb3e4b1d756b752853157e40097271
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148121
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-05-15 12:43:12 +00:00
..