int compareCallsites(const void* aSite1, const void* aSite2)
int compareCallsites(const void* aSite1, const void* aSite2, void* aContext)
int compareCallsites(const void* aSite1, const void* aSite2){    int retval = 0;    if(NULL != aSite1 && NULL != aSite2)    {        tmcallsite* site1 = *((tmcallsite**)aSite1);        tmcallsite* site2 = *((tmcallsite**)aSite2);        if(NULL != site1 && NULL != site2)        {            STRun* run1 = CALLSITE_RUN(site1);            STRun* run2 = CALLSITE_RUN(site2);            if(NULL != run1 && NULL != run2)            {                STCallsiteStats* stats1 = &(run1->mStats);                STCallsiteStats* stats2 = &(run2->mStats);                /*                ** Logic determined by pref/option.                */                switch(globals.mOptions.mOrderBy)                {                    case ST_WEIGHT:                    {                        PRUint64 weight164 = stats1->mWeight64;                        PRUint64 weight264 = stats2->mWeight64;                        if(LL_UCMP(weight164, <, weight264))                        {                            retval = __LINE__;                        }                        else if(LL_UCMP(weight164, >, weight264))                        {                            retval = - __LINE__;                        }                    }                    break;                    case ST_SIZE:                    {                        PRUint32 size1 = stats1->mSize;                        PRUint32 size2 = stats2->mSize;                        if(size1 < size2)                        {                            retval = __LINE__;                        }                        else if(size1 > size2)                        {                            retval = - __LINE__;                        }                    }                    break;                    case ST_TIMEVAL:                    {                        PRUint64 timeval164 = stats1->mTimeval64;                        PRUint64 timeval264 = stats2->mTimeval64;                        if(LL_UCMP(timeval164, <, timeval264))                        {                            retval = __LINE__;                        }                        else if(LL_UCMP(timeval164, >, timeval264))                        {                            retval = - __LINE__;                        }                    }                    break;                    default:                    {                        REPORT_ERROR(__LINE__, compareAllocations);                    }                    break;                }                /*                ** If the return value is still zero, do a pointer compare.                ** This makes sure we return zero, only iff the same object.                */                if(0 == retval)                {                    if(stats1 < stats2)                    {                        retval = __LINE__;                    }                    else if(stats1 > stats2)                    {                        retval = - __LINE__;                    }                }            }        }    }    return retval;}