* autoload.cc (timeGetDevCaps): Define new autoload function.
(timeGetTime): Ditto. (timeBeginPeriod): Ditto. (timeEndPeriod): Ditto. * hires.h (hires_base): New class. Renamed from hires. (hires_us): New class. (hires_ms): New class. * strace.cc (strace::microseconds): Use hires_us class. * times.cc (gettimeofday): Use hires-ms class. (hires_us::prime): Renamed from hires::prime. (hires_us::usecs): Renamed from hires:usecs. (hires_ms::prime): New method. (hires_ms::usecs): New method. (hires_ms::~hires_ms): New destructor.
This commit is contained in:
@@ -11,14 +11,37 @@ details. */
|
||||
#ifndef __HIRES_H__
|
||||
#define __HIRES_H__
|
||||
|
||||
class hires
|
||||
#include <mmsystem.h>
|
||||
|
||||
class hires_base
|
||||
{
|
||||
protected:
|
||||
int inited;
|
||||
virtual void prime () {}
|
||||
public:
|
||||
virtual LONGLONG usecs (bool justdelta) {return 0LL;}
|
||||
virtual ~hires_base () {}
|
||||
};
|
||||
|
||||
class hires_us : hires_base
|
||||
{
|
||||
LARGE_INTEGER primed_ft;
|
||||
LARGE_INTEGER primed_pc;
|
||||
double freq;
|
||||
void prime () __attribute__ ((regparm (1)));
|
||||
void prime ();
|
||||
public:
|
||||
LONGLONG usecs (bool justdelta) __attribute__ ((regparm (2)));
|
||||
LONGLONG usecs (bool justdelta);
|
||||
};
|
||||
|
||||
class hires_ms : hires_base
|
||||
{
|
||||
DWORD initime_ms;
|
||||
LARGE_INTEGER initime_us;
|
||||
UINT minperiod;
|
||||
void prime ();
|
||||
public:
|
||||
LONGLONG usecs (bool justdelta);
|
||||
~hires_ms ();
|
||||
};
|
||||
|
||||
#endif /*__HIRES_H__*/
|
||||
|
Reference in New Issue
Block a user