Bug 1538144 [wpt PR 15985] - Add tests for pixel-snapping under 3d transform, a=testonly
[gecko.git] / mozglue / misc / AutoProfilerLabel.cpp
blob2e71452caeead3b0cb9bac7312f9edea8da15dfd
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"
9 namespace mozilla {
11 static ProfilerLabelEnter sEnter = nullptr;
12 static ProfilerLabelExit sExit = nullptr;
14 void RegisterProfilerLabelEnterExit(ProfilerLabelEnter aEnter,
15 ProfilerLabelExit aExit) {
16 sEnter = aEnter;
17 sExit = aExit;
20 AutoProfilerLabel::AutoProfilerLabel(
21 const char* aLabel,
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