[#CTXPROF_FUNCTION_DATA]
= CTXPROF&lowbar;FUNCTION&lowbar;DATA
:mrdocs:

The internal structure of FunctionData&period; This makes sure that changes to the fields of FunctionData either get automatically captured on the llvm side, or force a manual corresponding update&period;

== Synopsis

Declared in `&lt;llvm&sol;ProfileData&sol;CtxInstrContextNode&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
#define CTXPROF&lowbar;FUNCTION&lowbar;DATA(PTRDECL, CONTEXT&lowbar;PTR, VOLATILE&lowbar;PTRDECL, MUTEXDECL)

----

== Description

The macro arguments (see CtxInstrProfiling&period;h for example)&colon;

PTRDECL is a macro taking 2 parameters&colon; a type and the name of the field&period; The field is a pointer of that type&semi;

VOLATILE&lowbar;PTRDECL is the same as above, but for volatile pointers&semi;

MUTEXDECL takes one parameter, the name of a field that is a mutex&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
