xref: /freebsd/contrib/llvm-project/compiler-rt/lib/scudo/standalone/timing.cpp (revision a90b9d0159070121c221b966469c3e36d912bf82)
1 //===-- timing.cpp ----------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "timing.h"
10 
11 namespace scudo {
12 
13 Timer::~Timer() {
14   if (Manager)
15     Manager->report(*this);
16 }
17 
18 ScopedTimer::ScopedTimer(TimingManager &Manager, const char *Name)
19     : Timer(Manager.getOrCreateTimer(Name)) {
20   start();
21 }
22 
23 ScopedTimer::ScopedTimer(TimingManager &Manager, const Timer &Nest,
24                          const char *Name)
25     : Timer(Manager.nest(Nest, Name)) {
26   start();
27 }
28 
29 } // namespace scudo
30