// Copyright (c) 2012, 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.

// A VM patch of the stopwatch part of dart:core.

@patch class Stopwatch {
  @patch static void _initTicker() {
    if (_frequency == null) {
      _frequency = _computeFrequency();
    }
  }

  // Returns the current clock tick.
  @patch static int _now() native "Stopwatch_now";

  // Returns the frequency of clock ticks in Hz.
  static int _computeFrequency() native "Stopwatch_frequency";
}
