/*===-- jitprofiling.h - JIT Profiling API-------------------------*- C -*-===*
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*
*===----------------------------------------------------------------------===*
*
* This file provides Intel(R) Performance Analyzer JIT (Just-In-Time)
* Profiling API declaration.
*
* NOTE: This file comes in a style different from the rest of LLVM
* source base since this is a piece of code shared from Intel(R)
* products. Please do not reformat / re-style this code to make
* subsequent merges and contributions from the original source base eaiser.
*
*===----------------------------------------------------------------------===*/
/*
* Various constants used by functions
*/
/* event notification */
typedef enum iJIT_jvm_event
iJIT_JVM_EVENT;
typedef enum _iJIT_ModeFlags
iJIT_ModeFlags;
/* Flags used by iJIT_IsProfilingActive() */
typedef enum _iJIT_IsProfilingActiveFlags
iJIT_IsProfilingActiveFlags;
/* Enumerator for the environment of methods*/
typedef enum _iJDEnvironmentType
iJDEnvironmentType;
/**********************************
* Data structures for the events *
**********************************/
/* structure for the events:
* iJVM_EVENT_TYPE_METHOD_UNLOAD_START
*/
typedef struct _iJIT_Method_Id
*piJIT_Method_Id, iJIT_Method_Id;
/* structure for the events:
* iJVM_EVENT_TYPE_ENTER_NIDS,
* iJVM_EVENT_TYPE_LEAVE_NIDS,
* iJVM_EVENT_TYPE_EXCEPTION_OCCURRED_NIDS
*/
typedef struct _iJIT_Method_NIDS
*piJIT_Method_NIDS, iJIT_Method_NIDS;
/* structures for the events:
* iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED
*/
typedef struct _LineNumberInfo
*pLineNumberInfo, LineNumberInfo;
typedef struct _iJIT_Method_Load
*piJIT_Method_Load, iJIT_Method_Load;
/* API Functions */
extern "C" CDECL
/* _M_X64 || _M_AMD64 || __x86_64__ */
/* defined WIN32 || defined _WIN32 */
/* CDECL */
/* called when the settings are changed with new settings */
typedef void ;
int JITAPI ;
/* The new mode call back routine */
void JITAPI ;
iJIT_IsProfilingActiveFlags JITAPI ;
void JITAPI ;
void JITAPI ;
unsigned int JITAPI ;
}
/* __JITPROFILING_H__ */