Backed out changeset 66d022f720b6 (bug 1480129)
authorSteve Fink <sfink@mozilla.com>
Tue, 16 Oct 2018 14:35:40 -0700
changeset 500022 18c5d2a69f2d9748977bdbe6686889ff7fcc72ef
parent 500021 056d6eeb21116e843a51e6503b2670243252788d
child 500023 06ffaf98e1e97cf3ad13d9e752f05f4f4e44c129
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1480129
milestone64.0a1
backs out66d022f720b698c8fced2c8628866445ddea6262
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
Backed out changeset 66d022f720b6 (bug 1480129)
js/src/devtools/rootAnalysis/computeGCTypes.js
--- a/js/src/devtools/rootAnalysis/computeGCTypes.js
+++ b/js/src/devtools/rootAnalysis/computeGCTypes.js
@@ -13,18 +13,16 @@ var typeInfo = {
     'GCThings': [],
     'GCInvalidated': [],
     'NonGCTypes': {}, // unused
     'NonGCPointers': {},
     'RootedGCThings': {},
     'RootedPointers': {},
     'RootedBases': {'JS::AutoGCRooter': true},
     'InheritFromTemplateArgs': {},
-    'OtherCSUTags': {},
-    'OtherFieldTags': {},
 
     // RAII types within which we should assume GC is suppressed, eg
     // AutoSuppressGC.
     'GCSuppressors': {},
 };
 
 var gDescriptors = new Map; // Map from descriptor string => Set of typeName
 
@@ -56,56 +54,36 @@ function processCSU(csu, body)
         else if (tag == 'Rooted Pointer')
             typeInfo.RootedPointers[csu] = true;
         else if (tag == 'Rooted Base')
             typeInfo.RootedBases[csu] = true;
         else if (tag == 'Suppress GC')
             typeInfo.GCSuppressors[csu] = true;
         else if (tag == 'moz_inherit_type_annotations_from_template_args')
             typeInfo.InheritFromTemplateArgs[csu] = true;
-        else
-            addToKeyedList(typeInfo.OtherCSUTags, csu, tag);
     }
 
     for (let { 'Base': base } of (body.CSUBaseClass || []))
         addBaseClass(csu, base);
 
-    for (const field of (body.DataField || [])) {
+    for (let field of (body.DataField || [])) {
         var type = field.Field.Type;
         var fieldName = field.Field.Name[0];
         if (type.Kind == "Pointer") {
             var target = type.Type;
             if (target.Kind == "CSU")
                 addNestedPointer(csu, target.Name, fieldName);
         }
         if (type.Kind == "Array") {
             var target = type.Type;
             if (target.Kind == "CSU")
                 addNestedStructure(csu, target.Name, fieldName);
         }
         if (type.Kind == "CSU")
             addNestedStructure(csu, type.Name, fieldName);
-
-        for (const { 'Name': [ annType, tag ] } of (field.Annotation || [])) {
-            if (!(csu in typeInfo.OtherFieldTags))
-                typeInfo.OtherFieldTags[csu] = [];
-            addToKeyedList(typeInfo.OtherFieldTags[csu], fieldName, tag);
-        }
-    }
-
-    for (const funcfield of (body.FunctionField || [])) {
-        const fields = funcfield.Field;
-        // Pure virtual functions will not have field.Variable; others will.
-        for (const field of funcfield.Field) {
-            for (const {'Name': [annType, tag]} of (field.Annotation || [])) {
-                if (!(csu in typeInfo.OtherFieldTags))
-                    typeInfo.OtherFieldTags[csu] = {};
-                addToKeyedList(typeInfo.OtherFieldTags[csu], field.Name[0], tag);
-            }
-        }
     }
 }
 
 // csu.field is of type inner
 function addNestedStructure(csu, inner, field)
 {
     if (!(inner in structureParents))
         structureParents[inner] = [];