Bug 1107134 - Disable GeckoView independence testing due to Classycle inlining bug. r=ckitching, a=sledru
authorNick Alexander <nalexander@mozilla.com>
Mon, 08 Dec 2014 12:46:57 -0800
changeset 243618 663d2c344792
parent 243617 01d047565daa
child 243619 6696e78c24ed
push id4419
push userryanvm@gmail.com
push date2015-02-02 15:44 +0000
treeherdermozilla-beta@ea6cff5fd829 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersckitching, sledru
bugs1107134
milestone36.0
Bug 1107134 - Disable GeckoView independence testing due to Classycle inlining bug. r=ckitching, a=sledru It appears that Classycle is dependent on the version of javac that compiles the .class files. There are real references between two sets that are not caught by Classycle; ckitching and I theorize that Classycle misses a reference from a set if it is a constant that is inlined by the javac compiler. This inlining differs between javac compiler version.
mobile/android/base/geckoview.ddf
--- a/mobile/android/base/geckoview.ddf
+++ b/mobile/android/base/geckoview.ddf
@@ -63,12 +63,17 @@ show allResults
   org.mozilla.gecko.distribution.Distribution \
   org.mozilla.gecko.favicons.Favicons \
   org.mozilla.gecko.favicons.OnFaviconLoadedListener
 
 [main] = org.mozilla.gecko.* excluding [lib] [middle]
 
 check sets [lib] [middle] [main]
 
-check [lib] directlyIndependentOf [main]
+# Bug 1107134: it appears that Classycle can be fooled if the Java
+# compiler inlines a constant from [main] into [lib].  That is, [main]
+# really does depend on [lib] but Classycle only sees the dependency
+# with some javac versions.  For now, disable the check.  Yes, this
+# processing is useless without this check.
+# check [lib] directlyIndependentOf [main]
 
 # This fails; if this passed, GeckoView would be ready to extract from Fennec.
 # check [lib] independentOf [middle]