LttTime prev_event_time; //the time of the previous event
LttCycleCount pre_cycle_count; //previous cycle count of the event
int count; //the number of overflow of cycle count
+ gint64 overflow_nsec; //precalculated nsec for overflows
+ TimeHeartbeat * last_heartbeat; //last heartbeat
+
/* end of workaround */
};
LttTime current_event_time; //time of the current event
BlockStart * a_block_start; //block start of the block
BlockEnd * a_block_end; //block end of the block
+ TimeHeartbeat * last_heartbeat; //last heartbeat
void * cur_event_pos; //the position of the current event
void * buffer; //the buffer containing the block
- double cycle_per_nsec; //Cycles per nsec
+ double nsec_per_cycle; //Nsec per cycle
+ guint64 one_overflow_nsec; //nsec for one overflow
+ gint64 overflow_nsec; //precalculated nsec for overflows
+ //can be negative to include value
+ //of block start cycle count.
+ //incremented at each overflow while
+ //reading.
+ //LttCycleCount cycles_per_nsec_reciprocal; // Optimisation for speed
unsigned cur_heart_beat_number; //current number of heart beat in the buf
LttCycleCount cur_cycle_count; //current cycle count of the event
void * last_event_pos;
LttTime prev_event_time; //the time of the previous event
LttCycleCount pre_cycle_count; //previous cycle count of the event
int count; //the number of overflow of cycle count
+ gint64 overflow_nsec; //precalculated nsec for overflows
+ TimeHeartbeat * last_heartbeat; //last heartbeat
/* end of workaround */
};