1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "mozilla/AutoProfilerLabel.h"
11 static ProfilerLabelEnter sEnter
= nullptr;
12 static ProfilerLabelExit sExit
= nullptr;
14 void RegisterProfilerLabelEnterExit(ProfilerLabelEnter aEnter
,
15 ProfilerLabelExit aExit
) {
20 AutoProfilerLabel::AutoProfilerLabel(
22 const char* aDynamicString MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL
) {
23 MOZ_GUARD_OBJECT_NOTIFIER_INIT
;
25 mProfilingStack
= sEnter
? sEnter(aLabel
, aDynamicString
, this) : nullptr;
28 AutoProfilerLabel::~AutoProfilerLabel() {
29 if (sExit
&& mProfilingStack
) {
30 sExit(mProfilingStack
);
34 } // namespace mozilla