thoroughly whack mallocfest in nsID/nsJSID and friends. b=410250, r+sr=jst, a=blocking1.9+

git-svn-id: svn://10.0.0.236/trunk@242879 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
dwitte%stanford.edu
2008-01-11 03:56:02 +00:00
parent 11dce2b63a
commit 9b6279f3f7
20 changed files with 180 additions and 205 deletions

View File

@@ -1137,15 +1137,13 @@ FinalizeParams(JNIEnv *env, const nsXPTParamInfo &aParamInfo, PRUint8 aType,
// Create the string from nsID
jstring str = nsnull;
if (iid) {
char* iid_str = iid->ToString();
if (iid_str) {
str = env->NewStringUTF(iid_str);
}
if (!iid_str || !str) {
char iid_str[NSID_LENGTH];
iid->ToProvidedString(iid_str);
str = env->NewStringUTF(iid_str);
if (!str) {
rv = NS_ERROR_OUT_OF_MEMORY;
break;
}
PR_Free(iid_str);
}
if (aParamInfo.IsRetval() && !aIsArrayElement) {

View File

@@ -866,15 +866,13 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
jobject str = nsnull;
if (iid) {
char* iid_str = iid->ToString();
if (iid_str) {
str = env->NewStringUTF(iid_str);
}
if (!iid_str || !str) {
char iid_str[NSID_LENGTH];
iid->ToProvidedString(iid_str);
str = env->NewStringUTF(iid_str);
if (!str) {
rv = NS_ERROR_OUT_OF_MEMORY;
break;
}
PR_Free(iid_str);
}
if (!aParamInfo.IsOut()) { // 'in'
@@ -1710,4 +1708,4 @@ nsJavaXPTCStub::GetNewOrUsed(JNIEnv* env, jobject aJavaObject,
*aResult = stub;
return NS_OK;
}
}

View File

@@ -416,10 +416,8 @@ public:
static const char kIIDDecl2[] = " =\n \"";
static const char kIIDDecl3[] = "\";\n\n";
nsIID* iid = nsnull;
aIInfo->GetInterfaceIID(&iid);
if (!iid)
return NS_ERROR_OUT_OF_MEMORY;
nsIID* iid;
aIInfo->GetIIDShared(&iid);
// create iid field name
nsCAutoString iid_name;
@@ -435,9 +433,8 @@ public:
ToUpperCase(iid_name);
// get iid string
char* iid_str = iid->ToString();
if (!iid_str)
return NS_ERROR_OUT_OF_MEMORY;
char iid_str[NSID_LENGTH];
iid->ToProvidedString(iid_str);
PRUint32 count;
nsresult rv = out->Write(kIIDDecl1, sizeof(kIIDDecl1) - 1, &count);
@@ -452,8 +449,6 @@ public:
NS_ENSURE_SUCCESS(rv, rv);
// cleanup
PR_Free(iid_str);
nsMemory::Free(iid);
return NS_OK;
}