blob: 60a5f6c2b57eeacde2490e3b158c38ed81d01ab3 [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#pragma once
enum class PerfHintLevels
{
L1 = 1, // Critical
L2, // Noisy but should give you all
VERBOSE = L2,
};
enum PerfHints : uint
{
#define PERFHINT_REASON(name, isNotOptimized, level, desc, consequences, suggestion) name,
#include "PerfHintDescriptions.h"
#undef PERFHINT_REASON
};
struct PerfHintItem
{
LPCWSTR description;
LPCWSTR consequences;
LPCWSTR suggestion;
PerfHintLevels level;
bool isNotOptimized;
};
extern const PerfHintItem s_perfHintContainer[];
void WritePerfHint(PerfHints hint, Js::FunctionBody * functionBody, uint byteCodeOffset = Js::Constants::NoByteCodeOffset);