Files
FlaxEngine/Source/ThirdParty/mono-2.0/mono/metadata/callspec.h
2020-12-07 23:40:54 +01:00

48 lines
1.0 KiB
C

/**
* \file
*/
#ifndef __MONO_CALLSPEC_H__
#define __MONO_CALLSPEC_H__
#include <glib.h>
#include <mono/utils/mono-compiler.h>
typedef enum {
MONO_TRACEOP_ALL,
MONO_TRACEOP_PROGRAM,
MONO_TRACEOP_METHOD,
MONO_TRACEOP_ASSEMBLY,
MONO_TRACEOP_CLASS,
MONO_TRACEOP_NAMESPACE,
MONO_TRACEOP_EXCEPTION,
MONO_TRACEOP_WRAPPER,
} MonoTraceOpcode;
typedef struct {
MonoTraceOpcode op;
int exclude;
void *data, *data2;
} MonoTraceOperation;
typedef struct {
int len;
gboolean enabled;
MonoTraceOperation *ops;
} MonoCallSpec;
G_BEGIN_DECLS
MONO_PROFILER_API gboolean mono_callspec_parse (const char *options,
MonoCallSpec *spec,
char **errstr);
MONO_PROFILER_API void mono_callspec_cleanup (MonoCallSpec *spec);
MONO_PROFILER_API gboolean mono_callspec_eval_exception (MonoClass *klass,
MonoCallSpec *spec);
MONO_PROFILER_API gboolean mono_callspec_eval (MonoMethod *method,
const MonoCallSpec *spec);
void mono_callspec_set_assembly (MonoAssembly *assembly);
G_END_DECLS
#endif /* __MONO_CALLSPEC_H__ */