Bug 934351 - More annotations that have been in production, r=terrence
authorSteve Fink <sfink@mozilla.com>
Tue, 05 Nov 2013 09:09:34 -0800
changeset 153660 f5929e69bc7bc1f0351e65edef88ef8ca89b7566
parent 153659 b53c83843c18a1cd47d055658510755c7ed0f628
child 153661 ae25b8cc8ff8e94582649a3f82fabbeb6d0a638d
push id25600
push userkwierso@gmail.com
push dateWed, 06 Nov 2013 01:50:50 +0000
treeherdermozilla-central@ce0d975320e7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs934351
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 934351 - More annotations that have been in production, r=terrence DONTBUILD because NPOTB
js/src/devtools/rootAnalysis/annotations.js
--- a/js/src/devtools/rootAnalysis/annotations.js
+++ b/js/src/devtools/rootAnalysis/annotations.js
@@ -6,16 +6,22 @@
 var ignoreIndirectCalls = {
     "mallocSizeOf" : true,
     "aMallocSizeOf" : true,
     "_malloc_message" : true,
     "__conv" : true,
     "__convf" : true,
     "prerrortable.c:callback_newtable" : true,
     "mozalloc_oom.cpp:void (* gAbortHandler)(size_t)" : true,
+
+    // I don't know why these are getting truncated
+    "nsTraceRefcntImpl.cpp:void (* leakyLogAddRef)(void*": true,
+    "nsTraceRefcntImpl.cpp:void (* leakyLogAddRef)(void*, int, int)": true,
+    "nsTraceRefcntImpl.cpp:void (* leakyLogRelease)(void*": true,
+    "nsTraceRefcntImpl.cpp:void (* leakyLogRelease)(void*, int, int)": true,
 };
 
 function indirectCallCannotGC(caller, name)
 {
     if (name in ignoreIndirectCalls)
         return true;
 
     if (name == "mapper" && caller == "ptio.c:pt_MapError")
@@ -137,16 +143,29 @@ function ignoreEdgeAddressTaken(edge)
 var ignoreFunctions = {
     "ptio.c:pt_MapError" : true,
     "PR_ExplodeTime" : true,
     "PR_ErrorInstallTable" : true,
     "PR_SetThreadPrivate" : true,
     "JSObject* js::GetWeakmapKeyDelegate(JSObject*)" : true, // FIXME: mark with AutoAssertNoGC instead
     "uint8 NS_IsMainThread()" : true,
 
+    // FIXME!
+    "NS_LogInit": true,
+    "NS_LogTerm": true,
+    "NS_LogAddRef": true,
+    "NS_LogRelease": true,
+    "NS_LogCtor": true,
+    "NS_LogDtor": true,
+    "NS_LogCOMPtrAddRef": true,
+    "NS_LogCOMPtrRelease": true,
+
+    // FIXME!
+    "NS_DebugBreak": true,
+
     // These are a little overzealous -- these destructors *can* GC if they end
     // up wrapping a pending exception. See bug 898815 for the heavyweight fix.
     "void js::AutoCompartment::~AutoCompartment(int32)" : true,
     "void JSAutoCompartment::~JSAutoCompartment(int32)" : true,
 
     // And these are workarounds to avoid even more analysis work,
     // which would sadly still be needed even with bug 898815.
     "void js::AutoCompartment::AutoCompartment(js::ExclusiveContext*, JSCompartment*)": true,
@@ -165,16 +184,18 @@ function ignoreGCFunction(fun)
     if (/refillFreeList/.test(fun) && /\(js::AllowGC\)0u/.test(fun))
         return true;
     return false;
 }
 
 function isRootedTypeName(name)
 {
     if (name == "mozilla::ErrorResult" ||
+        name == "JSErrorResult" ||
+        name == "WrappableJSErrorResult" ||
         name == "js::frontend::TokenStream" ||
         name == "js::frontend::TokenStream::Position" ||
         name == "ModuleCompiler")
     {
         return true;
     }
     return false;
 }