xref: /freebsd/contrib/llvm-project/compiler-rt/lib/scudo/standalone/timing.cpp (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
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 
~Timer()13 Timer::~Timer() {
14   if (Manager)
15     Manager->report(*this);
16 }
17 
ScopedTimer(TimingManager & Manager,const char * Name)18 ScopedTimer::ScopedTimer(TimingManager &Manager, const char *Name)
19     : Timer(Manager.getOrCreateTimer(Name)) {
20   start();
21 }
22 
ScopedTimer(TimingManager & Manager,const Timer & Nest,const char * Name)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