From c3ef7f6816ecf48fa6ccf8734681b2ebe86729d3 Mon Sep 17 00:00:00 2001 From: "warren%netscape.com" Date: Thu, 24 Feb 2000 05:40:40 +0000 Subject: [PATCH] Fixing bustage -- NS_MeanAndStdDev not included in release builds. git-svn-id: svn://10.0.0.236/trunk@61592 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/base/nsTraceRefcnt.cpp | 52 ++++++++++++------------ mozilla/xpcom/base/nsTraceRefcntImpl.cpp | 52 ++++++++++++------------ 2 files changed, 54 insertions(+), 50 deletions(-) diff --git a/mozilla/xpcom/base/nsTraceRefcnt.cpp b/mozilla/xpcom/base/nsTraceRefcnt.cpp index 1bacfaaf590..6a5730adcfc 100644 --- a/mozilla/xpcom/base/nsTraceRefcnt.cpp +++ b/mozilla/xpcom/base/nsTraceRefcnt.cpp @@ -28,6 +28,7 @@ #include #include "nsCOMPtr.h" #include "nsCRT.h" +#include #if defined(_WIN32) #include @@ -58,9 +59,31 @@ static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID); static const char* kRefcountPref = "nglayout.debug.enable_xpcom_refcnt_log"; static PRBool gRefcountPrefEnabled = PR_FALSE; +//////////////////////////////////////////////////////////////////////////////// + +NS_COM void +NS_MeanAndStdDev(double n, double sumOfValues, double sumOfSquaredValues, + double *meanResult, double *stdDevResult) +{ + double mean = 0.0, var = 0.0, stdDev = 0.0; + if (n > 0.0 && sumOfValues >= 0) { + mean = sumOfValues / n; + double temp = (n * sumOfSquaredValues) - (sumOfValues * sumOfValues); + if (temp < 0.0 || n <= 1) + var = 0.0; + else + var = temp / (n * (n - 1)); + // for some reason, Windows says sqrt(0.0) is "-1.#J" (?!) so do this: + stdDev = var != 0.0 ? sqrt(var) : 0.0; + } + *meanResult = mean; + *stdDevResult = stdDev; +} + +//////////////////////////////////////////////////////////////////////////////// + #ifdef NS_BUILD_REFCNT_LOGGING #include "plhash.h" -#include #if defined(NS_MT_SUPPORTED) #include "prlock.h" @@ -105,27 +128,6 @@ static FILE *gLeakyLog = nsnull; //////////////////////////////////////////////////////////////////////////////// -NS_COM void -NS_MeanAndStdDev(double n, double sumOfValues, double sumOfSquaredValues, - double *meanResult, double *stdDevResult) -{ - double mean = 0.0, var = 0.0, stdDev = 0.0; - if (n > 0.0 && sumOfValues >= 0) { - mean = sumOfValues / n; - double temp = (n * sumOfSquaredValues) - (sumOfValues * sumOfValues); - if (temp < 0.0 || n <= 1) - var = 0.0; - else - var = temp / (n * (n - 1)); - // for some reason, Windows says sqrt(0.0) is "-1.#J" (?!) so do this: - stdDev = var != 0.0 ? sqrt(var) : 0.0; - } - *meanResult = mean; - *stdDevResult = stdDev; -} - -//////////////////////////////////////////////////////////////////////////////// - struct GatherArgs { nsTraceRefcntStatFunc func; void* closure; @@ -244,9 +246,9 @@ public: total->mAllStats.mObjsOutstandingSquared += mNewStats.mObjsOutstandingSquared + mAllStats.mObjsOutstandingSquared; PRInt32 count = (mNewStats.mCreates + mAllStats.mCreates); total->mClassSize += mClassSize * count; // adjust for average in DumpTotal - total->mTotalLeaked += mClassSize * - ((mNewStats.mCreates + mAllStats.mCreates) - -(mNewStats.mDestroys + mAllStats.mDestroys)); + total->mTotalLeaked += (PRInt32)(mClassSize * + ((mNewStats.mCreates + mAllStats.mCreates) + -(mNewStats.mDestroys + mAllStats.mDestroys))); } nsresult DumpTotal(PRUint32 nClasses, FILE* out) { diff --git a/mozilla/xpcom/base/nsTraceRefcntImpl.cpp b/mozilla/xpcom/base/nsTraceRefcntImpl.cpp index 1bacfaaf590..6a5730adcfc 100644 --- a/mozilla/xpcom/base/nsTraceRefcntImpl.cpp +++ b/mozilla/xpcom/base/nsTraceRefcntImpl.cpp @@ -28,6 +28,7 @@ #include #include "nsCOMPtr.h" #include "nsCRT.h" +#include #if defined(_WIN32) #include @@ -58,9 +59,31 @@ static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID); static const char* kRefcountPref = "nglayout.debug.enable_xpcom_refcnt_log"; static PRBool gRefcountPrefEnabled = PR_FALSE; +//////////////////////////////////////////////////////////////////////////////// + +NS_COM void +NS_MeanAndStdDev(double n, double sumOfValues, double sumOfSquaredValues, + double *meanResult, double *stdDevResult) +{ + double mean = 0.0, var = 0.0, stdDev = 0.0; + if (n > 0.0 && sumOfValues >= 0) { + mean = sumOfValues / n; + double temp = (n * sumOfSquaredValues) - (sumOfValues * sumOfValues); + if (temp < 0.0 || n <= 1) + var = 0.0; + else + var = temp / (n * (n - 1)); + // for some reason, Windows says sqrt(0.0) is "-1.#J" (?!) so do this: + stdDev = var != 0.0 ? sqrt(var) : 0.0; + } + *meanResult = mean; + *stdDevResult = stdDev; +} + +//////////////////////////////////////////////////////////////////////////////// + #ifdef NS_BUILD_REFCNT_LOGGING #include "plhash.h" -#include #if defined(NS_MT_SUPPORTED) #include "prlock.h" @@ -105,27 +128,6 @@ static FILE *gLeakyLog = nsnull; //////////////////////////////////////////////////////////////////////////////// -NS_COM void -NS_MeanAndStdDev(double n, double sumOfValues, double sumOfSquaredValues, - double *meanResult, double *stdDevResult) -{ - double mean = 0.0, var = 0.0, stdDev = 0.0; - if (n > 0.0 && sumOfValues >= 0) { - mean = sumOfValues / n; - double temp = (n * sumOfSquaredValues) - (sumOfValues * sumOfValues); - if (temp < 0.0 || n <= 1) - var = 0.0; - else - var = temp / (n * (n - 1)); - // for some reason, Windows says sqrt(0.0) is "-1.#J" (?!) so do this: - stdDev = var != 0.0 ? sqrt(var) : 0.0; - } - *meanResult = mean; - *stdDevResult = stdDev; -} - -//////////////////////////////////////////////////////////////////////////////// - struct GatherArgs { nsTraceRefcntStatFunc func; void* closure; @@ -244,9 +246,9 @@ public: total->mAllStats.mObjsOutstandingSquared += mNewStats.mObjsOutstandingSquared + mAllStats.mObjsOutstandingSquared; PRInt32 count = (mNewStats.mCreates + mAllStats.mCreates); total->mClassSize += mClassSize * count; // adjust for average in DumpTotal - total->mTotalLeaked += mClassSize * - ((mNewStats.mCreates + mAllStats.mCreates) - -(mNewStats.mDestroys + mAllStats.mDestroys)); + total->mTotalLeaked += (PRInt32)(mClassSize * + ((mNewStats.mCreates + mAllStats.mCreates) + -(mNewStats.mDestroys + mAllStats.mDestroys))); } nsresult DumpTotal(PRUint32 nClasses, FILE* out) {