Bug 1358362- stylo: Whitelist ShapeSource outparams in bindings to satisfy heap write analysis; r?bholley draft
authorManish Goregaokar <manishearth@gmail.com>
Thu, 20 Apr 2017 14:49:53 -0700
changeset 566201 fe38342440b9ed0cdeb3fdc120e042501c72873f
parent 566093 3cf6ed6f3f73a50b555bd2bf4f46e61f2d78bc62
child 625239 eb20a16f28fd7c397c8b738d07fe98f768a98cd0
push id55135
push userbmo:manishearth@gmail.com
push dateFri, 21 Apr 2017 04:24:36 +0000
reviewersbholley
bugs1358362
milestone55.0a1
Bug 1358362- stylo: Whitelist ShapeSource outparams in bindings to satisfy heap write analysis; r?bholley MozReview-Commit-ID: BzJg6b8DDxB
js/src/devtools/rootAnalysis/analyzeHeapWrites.js
taskcluster/scripts/builder/hazard-analysis.sh
--- a/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
+++ b/js/src/devtools/rootAnalysis/analyzeHeapWrites.js
@@ -202,16 +202,20 @@ function treatAsSafeArgument(entry, varN
         ["Gecko_nsStyleSVG_SetDashArrayLength", "aSvg", null],
         ["Gecko_nsStyleSVG_CopyDashArray", "aDst", null],
         ["Gecko_nsStyleFont_SetLang", "aFont", null],
         ["Gecko_nsStyleFont_CopyLangFrom", "aFont", null],
         ["Gecko_MatchStringArgPseudo", "aSetSlowSelectorFlag", null],
         ["Gecko_ClearWillChange", "aDisplay", null],
         ["Gecko_AppendWillChange", "aDisplay", null],
         ["Gecko_CopyWillChangeFrom", "aDest", null],
+        ["Gecko_InitializeImageCropRect", "aImage", null],
+        ["Gecko_CopyShapeSourceFrom", "aDst", null],
+        ["Gecko_DestroyShapeSource", "aShape", null],
+        ["Gecko_StyleShapeSource_SetURLValue", "aShape", null],
     ];
     for (var [entryMatch, varMatch, csuMatch] of whitelist) {
         assert(entryMatch || varMatch || csuMatch);
         if (entryMatch && !nameMatches(entry.name, entryMatch))
             continue;
         if (varMatch && !nameMatches(varName, varMatch))
             continue;
         if (csuMatch && (!csuName || !nameMatches(csuName, csuMatch)))
--- a/taskcluster/scripts/builder/hazard-analysis.sh
+++ b/taskcluster/scripts/builder/hazard-analysis.sh
@@ -146,16 +146,16 @@ function check_hazards () {
     echo "TinderboxPrint: heap write hazards<br/>$NUM_WRITE_HAZARDS"
 
     if [ $NUM_HAZARDS -gt 0 ]; then
         echo "TEST-UNEXPECTED-FAIL $NUM_HAZARDS rooting hazards detected" >&2
         echo "TinderboxPrint: documentation<br/><a href='https://wiki.mozilla.org/Javascript:Hazard_Builds#Diagnosing_a_rooting_hazards_failure'>static rooting hazard analysis failures</a>, visit \"Inspect Task\" link for hazard details"
         exit 1
     fi
 
-    NUM_ALLOWED_WRITE_HAZARDS=7
+    NUM_ALLOWED_WRITE_HAZARDS=4
     if [ $NUM_WRITE_HAZARDS -gt $NUM_ALLOWED_WRITE_HAZARDS ]; then
         echo "TEST-UNEXPECTED-FAIL $NUM_WRITE_HAZARDS heap write hazards detected out of $NUM_ALLOWED_WRITE_HAZARDS allowed" >&2
         echo "TinderboxPrint: documentation<br/><a href='https://wiki.mozilla.org/Javascript:Hazard_Builds#Diagnosing_a_heap_write_hazard_failure'>heap write hazard analysis failures</a>, visit \"Inspect Task\" link for hazard details"
         exit 1
     fi
     )
 }