[runtime] Introduce MonoError into mono_metadata_parse_method_signature_full.
[mono.git] / mono / metadata / profiler.h
index c7b8f6d8a88463fad9c5be909cac96b5726ee3d1..d3de24736ff519ccad0def2212207e83db98334a 100644 (file)
@@ -65,6 +65,14 @@ typedef struct {
 typedef enum {
        MONO_PROFILER_CODE_BUFFER_UNKNOWN,
        MONO_PROFILER_CODE_BUFFER_METHOD,
+       MONO_PROFILER_CODE_BUFFER_METHOD_TRAMPOLINE,
+       MONO_PROFILER_CODE_BUFFER_UNBOX_TRAMPOLINE,
+       MONO_PROFILER_CODE_BUFFER_IMT_TRAMPOLINE,
+       MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE,
+       MONO_PROFILER_CODE_BUFFER_SPECIFIC_TRAMPOLINE,
+       MONO_PROFILER_CODE_BUFFER_HELPER,
+       MONO_PROFILER_CODE_BUFFER_MONITOR,
+       MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE,
        MONO_PROFILER_CODE_BUFFER_LAST
 } MonoProfilerCodeBufferType;
 
@@ -193,6 +201,15 @@ MONO_API void mono_profiler_install_iomap (MonoProfileIomapFunc callback);
 
 MONO_API void mono_profiler_load             (const char *desc);
 
+typedef enum {
+       /* Elapsed time is tracked by user+kernel time of the process - this is the default*/
+       MONO_PROFILER_STAT_MODE_PROCESS = 0,
+       /* Elapsed time is tracked by wallclock time */
+       MONO_PROFILER_STAT_MODE_REAL = 1,
+} MonoProfileSamplingMode;
+
+MONO_API void mono_profiler_set_statistical_mode (MonoProfileSamplingMode mode, int64_t sampling_frequency_is_us);
+
 MONO_END_DECLS
 
 #endif /* __MONO_PROFILER_H__ */