chromium/v8/src/logging/runtime-call-stats-scope.h

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_LOGGING_RUNTIME_CALL_STATS_SCOPE_H_
#define V8_LOGGING_RUNTIME_CALL_STATS_SCOPE_H_

#include <memory>

#include "src/execution/isolate.h"
#include "src/execution/local-isolate.h"
#include "src/logging/counters.h"
#include "src/logging/runtime-call-stats.h"
#include "src/logging/tracing-flags.h"

namespace v8 {
namespace internal {

#ifdef V8_RUNTIME_CALL_STATS

// Make the line number part of the scope's name to avoid -Wshadow warnings.
#define RCS_SCOPE(...)

RuntimeCallTimerScope::RuntimeCallTimerScope(Isolate* isolate,
                                             RuntimeCallCounterId counter_id) {}

RuntimeCallTimerScope::RuntimeCallTimerScope(
    LocalIsolate* isolate, RuntimeCallCounterId counter_id,
    RuntimeCallStats::CounterMode mode) {}

#else  // RUNTIME_CALL_STATS

#define RCS_SCOPE

#endif  // defined(V8_RUNTIME_CALL_STATS)

}  // namespace internal
}  // namespace v8

#endif  // V8_LOGGING_RUNTIME_CALL_STATS_SCOPE_H_