#ifndef TRACEFILES_JFR_NATIVE_EVENTSETTING_HPP
#define TRACEFILES_JFR_NATIVE_EVENTSETTING_HPP
#include "utilities/macros.hpp"
#if INCLUDE_TRACE
#include "tracefiles/traceEventIds.hpp"
/**
* Event setting. We add some padding so we can use our
* event IDs as indexes into this.
*/
struct jfrNativeEventSetting {
jlong threshold_ticks;
jlong cutoff_ticks;
u1 stacktrace;
u1 enabled;
u1 pad[6]; // Because GCC on linux ia32 at least tries to pack this.
};
union JfrNativeSettings {
// Array version.
jfrNativeEventSetting bits[MaxTraceEventId];
// Then, to make it easy to debug,
// add named struct members also.
struct {
jfrNativeEventSetting pad[NUM_RESERVED_EVENTS];
} ev;
};
#endif // INCLUDE_TRACE
#endif // TRACEFILES_JFR_NATIVE_EVENTSETTING_HPP