Files
sdk/runtime/vm/timer.cc
T
cshapiro@google.com da14bf70a7 Add attributions so printf like functions can have their arguments checked.
This change also corrects some misuses of format strings and format
arguments that discovered by the compiler checks.

Review URL: https://chromiumcodereview.appspot.com//10869063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11912 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-06 00:58:25 +00:00

39 lines
1.3 KiB
C++

// Copyright (c) 2011, 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.
#include "vm/timer.h"
namespace dart {
// Define timer command line flags.
#define DEFINE_TIMER_FLAG(name, msg) \
DEFINE_FLAG(bool, name, false, ""#name);
TIMER_LIST(DEFINE_TIMER_FLAG)
#undef DEFINE_TIMER_FLAG
DEFINE_FLAG(bool, time_all, false, "Time all functionality");
// Maintains a list of timers per isolate.
#define INIT_TIMERS(name, msg) \
name##_((FLAG_##name || FLAG_time_all), msg),
TimerList::TimerList()
: TIMER_LIST(INIT_TIMERS)
padding_(false) {
}
#undef INIT_TIMERS
#define TIMER_FIELD_REPORT(name, msg) \
if (name().enabled() && name().message() != NULL) { \
OS::Print("%s %"Pd64" micros.\n", \
name().message(), \
name().TotalElapsedTime()); \
}
void TimerList::ReportTimers() {
TIMER_LIST(TIMER_FIELD_REPORT);
}
#undef TIMER_FIELD_REPORT
} // namespace dart