#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