| Index: pkg/dev_compiler/tool/input_sdk/lib/async/schedule_microtask.dart | 
| diff --git a/pkg/dev_compiler/tool/input_sdk/lib/async/schedule_microtask.dart b/pkg/dev_compiler/tool/input_sdk/lib/async/schedule_microtask.dart | 
| deleted file mode 100644 | 
| index 70fbeba924d664bd0934e6d0defbc2227bc5869c..0000000000000000000000000000000000000000 | 
| --- a/pkg/dev_compiler/tool/input_sdk/lib/async/schedule_microtask.dart | 
| +++ /dev/null | 
| @@ -1,154 +0,0 @@ | 
| -// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| -// for details. All rights reserved. Use of this source code is governed by a | 
| -// BSD-style license that can be found in the LICENSE file. | 
| - | 
| -part of dart.async; | 
| - | 
| -typedef void _AsyncCallback(); | 
| - | 
| -class _AsyncCallbackEntry { | 
| -  final _AsyncCallback callback; | 
| -  _AsyncCallbackEntry next; | 
| -  _AsyncCallbackEntry(this.callback); | 
| -} | 
| - | 
| -/** Head of single linked list of pending callbacks. */ | 
| -_AsyncCallbackEntry _nextCallback; | 
| -/** Tail of single linked list of pending callbacks. */ | 
| -_AsyncCallbackEntry _lastCallback; | 
| -/** | 
| - * Tail of priority callbacks added by the currently executing callback. | 
| - * | 
| - * Priority callbacks are put at the beginning of the | 
| - * callback queue, so that if one callback schedules more than one | 
| - * priority callback, they are still enqueued in scheduling order. | 
| - */ | 
| -_AsyncCallbackEntry _lastPriorityCallback; | 
| -/** | 
| - * Whether we are currently inside the callback loop. | 
| - * | 
| - * If we are inside the loop, we never need to schedule the loop, | 
| - * even if adding a first element. | 
| - */ | 
| -bool _isInCallbackLoop = false; | 
| - | 
| -void _microtaskLoop() { | 
| -  while (_nextCallback != null) { | 
| -    _lastPriorityCallback = null; | 
| -    _AsyncCallbackEntry entry = _nextCallback; | 
| -    _nextCallback = entry.next; | 
| -    if (_nextCallback == null) _lastCallback = null; | 
| -    (entry.callback)(); | 
| -  } | 
| -} | 
| - | 
| -void _startMicrotaskLoop() { | 
| -  _isInCallbackLoop = true; | 
| -  try { | 
| -    // Moved to separate function because try-finally prevents | 
| -    // good optimization. | 
| -    _microtaskLoop(); | 
| -  } finally { | 
| -    _lastPriorityCallback = null; | 
| -    _isInCallbackLoop = false; | 
| -    if (_nextCallback != null) { | 
| -      _AsyncRun._scheduleImmediate(_startMicrotaskLoop); | 
| -    } | 
| -  } | 
| -} | 
| - | 
| -/** | 
| - * Schedules a callback to be called as a microtask. | 
| - * | 
| - * The microtask is called after all other currently scheduled | 
| - * microtasks, but as part of the current system event. | 
| - */ | 
| -void _scheduleAsyncCallback(_AsyncCallback callback) { | 
| -  _AsyncCallbackEntry newEntry = new _AsyncCallbackEntry(callback); | 
| -  if (_nextCallback == null) { | 
| -    _nextCallback = _lastCallback = newEntry; | 
| -    if (!_isInCallbackLoop) { | 
| -      _AsyncRun._scheduleImmediate(_startMicrotaskLoop); | 
| -    } | 
| -  } else { | 
| -    _lastCallback.next = newEntry; | 
| -    _lastCallback = newEntry; | 
| -  } | 
| -} | 
| - | 
| -/** | 
| - * Schedules a callback to be called before all other currently scheduled ones. | 
| - * | 
| - * This callback takes priority over existing scheduled callbacks. | 
| - * It is only used internally to give higher priority to error reporting. | 
| - * | 
| - * Is always run in the root zone. | 
| - */ | 
| -void _schedulePriorityAsyncCallback(_AsyncCallback callback) { | 
| -  if (_nextCallback == null) { | 
| -    _scheduleAsyncCallback(callback); | 
| -    _lastPriorityCallback = _lastCallback; | 
| -    return; | 
| -  } | 
| -  _AsyncCallbackEntry entry = new _AsyncCallbackEntry(callback); | 
| -  if (_lastPriorityCallback == null) { | 
| -    entry.next = _nextCallback; | 
| -    _nextCallback = _lastPriorityCallback = entry; | 
| -  } else { | 
| -    entry.next = _lastPriorityCallback.next; | 
| -    _lastPriorityCallback.next = entry; | 
| -    _lastPriorityCallback = entry; | 
| -    if (entry.next == null) { | 
| -      _lastCallback = entry; | 
| -    } | 
| -  } | 
| -} | 
| - | 
| -/** | 
| - * Runs a function asynchronously. | 
| - * | 
| - * Callbacks registered through this function are always executed in order and | 
| - * are guaranteed to run before other asynchronous events (like [Timer] events, | 
| - * or DOM events). | 
| - * | 
| - * **Warning:** it is possible to starve the DOM by registering asynchronous | 
| - * callbacks through this method. For example the following program runs | 
| - * the callbacks without ever giving the Timer callback a chance to execute: | 
| - * | 
| - *     main() { | 
| - *       Timer.run(() { print("executed"); });  // Will never be executed. | 
| - *       foo() { | 
| - *         scheduleMicrotask(foo);  // Schedules [foo] in front of other events. | 
| - *       } | 
| - *       foo(); | 
| - *     } | 
| - * | 
| - * ## Other resources | 
| - * | 
| - * * [The Event Loop and Dart](https://www.dartlang.org/articles/event-loop/): | 
| - * Learn how Dart handles the event queue and microtask queue, so you can write | 
| - * better asynchronous code with fewer surprises. | 
| - */ | 
| -void scheduleMicrotask(void callback()) { | 
| -  _Zone currentZone = Zone.current; | 
| -  if (identical(_ROOT_ZONE, currentZone)) { | 
| -    // No need to bind the callback. We know that the root's scheduleMicrotask | 
| -    // will be invoked in the root zone. | 
| -    _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback); | 
| -    return; | 
| -  } | 
| -  _ZoneFunction implementation = currentZone._scheduleMicrotask; | 
| -  if (identical(_ROOT_ZONE, implementation.zone) && | 
| -      _ROOT_ZONE.inSameErrorZone(currentZone)) { | 
| -    _rootScheduleMicrotask(null, null, currentZone, | 
| -                           currentZone.registerCallback(callback)); | 
| -    return; | 
| -  } | 
| -  Zone.current.scheduleMicrotask( | 
| -      Zone.current.bindCallback(callback, runGuarded: true)); | 
| -} | 
| - | 
| -class _AsyncRun { | 
| -  /** Schedule the given callback before any other event in the event-loop. */ | 
| -  external static void _scheduleImmediate(void callback()); | 
| -} | 
|  |