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(T: *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(T: Nest, Name)) { |
26 | start(); |
27 | } |
28 | |
29 | } // namespace scudo |
30 |