Surface constructor

Surface()

Implementation

Surface() {
  // Swept here as well as in the shed so a program that churns through
  // surfaces does not grow the list between sheds.
  if (_live.length >= _liveSweepThreshold) {
    _live.removeWhere((ref) => ref.target == null);
  }
  _live.add(WeakReference<Surface>(this));
}