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
11namespace scudo {
12
13Timer::~Timer() {
14 if (Manager)
15 Manager->report(T: *this);
16}
17
18ScopedTimer::ScopedTimer(TimingManager &Manager, const char *Name)
19 : Timer(Manager.getOrCreateTimer(Name)) {
20 start();
21}
22
23ScopedTimer::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