if (QueryPerformanceCounter(&count)) { PRInt32 top = count.HighPart & _nt_highMask; top = top << (32 - _nt_bitShift); count.LowPart = count.LowPart >> _nt_bitShift; count.LowPart = count.LowPart + top; return (PRUint32)count.LowPart;
if (_nt_ticksPerSec != -1) { (void)QueryPerformanceCounter(&count); PR_ASSERT(_nt_bitShift <= 32); if (_nt_bitShift == 32) { return (PRUint32)count.HighPart; } else { return (PRUint32)((count.HighPart << (32 - _nt_bitShift)) + (count.LowPart >> _nt_bitShift)); }
_PR_MD_GET_INTERVAL(){    LARGE_INTEGER count;   /* Sadly; nspr requires the interval to range from 1000 ticks per second    * to only 100000 ticks per second; QueryPerformanceCounter is too high    * resolution...    */    if (QueryPerformanceCounter(&count)) {        PRInt32 top = count.HighPart & _nt_highMask;        top = top << (32 - _nt_bitShift);        count.LowPart = count.LowPart >> _nt_bitShift;           count.LowPart = count.LowPart + top;         return (PRUint32)count.LowPart;    } else#if defined(__MINGW32__)        return time();#elif defined(WIN16)        return clock();        /* milliseconds since application start */#else        return GetTickCount();  /* milliseconds since system start */#endif}