5f288f4940
Instead of the background compiler task waiting forever for functions to show up in its queue, it performs a single compilation and schedules a new task if the queue is not empty. This means an inactive isolate no longer consumes a thread. It also creates interrupt points and better fits with an embedder-provided task runner abstraction. TEST=ci Change-Id: I13960c776590b884fdee278d2f292bb0fa725fad Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214242 Reviewed-by: Liam Appelbe <liama@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>