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