Merge mozilla-central to autoland. a=merge CLOSED TREE
authorTiberius Oros <toros@mozilla.com>
Mon, 08 Oct 2018 12:53:38 +0300
changeset 439970 570a90cadb6711bfe7ec61935eebf1c9a7ee5d72
parent 439965 b2a9499e2c3e3673ea1fae85d5e7f19481f11ca4 (current diff)
parent 439969 fb8edc9e0e00097813febdb64a64c82666c812be (diff)
child 439971 2b61cf8794a0f641d980d9d7ec6aa3643184a1f0
push id70521
push usertoros@mozilla.com
push dateMon, 08 Oct 2018 09:54:00 +0000
treeherderautoland@570a90cadb67 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone64.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
Merge mozilla-central to autoland. a=merge CLOSED TREE
--- a/js/src/gc/Nursery.cpp
+++ b/js/src/gc/Nursery.cpp
@@ -125,17 +125,16 @@ js::Nursery::Nursery(JSRuntime* rt)
   , currentStartChunk_(0)
   , currentStartPosition_(0)
   , currentEnd_(0)
   , currentStringEnd_(0)
   , currentChunk_(0)
   , maxChunkCount_(0)
   , chunkCountLimit_(0)
   , timeInChunkAlloc_(0)
-  , previousPromotionRate_(0)
   , profileThreshold_(0)
   , enableProfiling_(false)
   , canAllocateStrings_(false)
   , reportTenurings_(0)
   , minorGCTriggerReason_(JS::gcreason::NO_REASON)
   , freeMallocedBuffersTask(nullptr)
 #ifdef JS_GC_ZEAL
   , lastCanary_(nullptr)
@@ -1208,46 +1207,42 @@ js::Nursery::maybeResizeNursery(JS::gcre
 
 #ifdef JS_GC_ZEAL
     // This zeal mode disabled nursery resizing.
     if (runtime()->hasZealMode(ZealMode::GenerationalGC)) {
         return;
     }
 #endif
 
+    newMaxNurseryChunks = runtime()->gc.tunables.gcMaxNurseryBytes() >> ChunkShift;
+    if (newMaxNurseryChunks != chunkCountLimit_) {
+        chunkCountLimit_ = newMaxNurseryChunks;
+        /* The configured maximum nursery size is changing */
+        if (maxChunkCount() > newMaxNurseryChunks) {
+            /* We need to shrink the nursery */
+            shrinkAllocableSpace(newMaxNurseryChunks);
+            return;
+        }
+    }
+
     /*
      * This incorrect promotion rate results in better nursery sizing
      * decisions, however we should to better tuning based on the real
      * promotion rate in the future.
      */
     const float promotionRate =
         float(previousGC.tenuredBytes) / float(previousGC.nurseryCapacity);
 
-    newMaxNurseryChunks = runtime()->gc.tunables.gcMaxNurseryBytes() >> ChunkShift;
-    if (newMaxNurseryChunks != chunkCountLimit_) {
-        chunkCountLimit_ = newMaxNurseryChunks;
-        /* The configured maximum nursery size is changing */
-        if (maxChunkCount() > newMaxNurseryChunks) {
-            /* We need to shrink the nursery */
-            shrinkAllocableSpace(newMaxNurseryChunks);
-
-            previousPromotionRate_ = promotionRate;
-            return;
-        }
-    }
-
     if (promotionRate > GrowThreshold) {
         // The GC nursery is an optimization and so if we fail to allocate
         // nursery chunks we do not report an error.
         growAllocableSpace();
-    } else if (promotionRate < ShrinkThreshold && previousPromotionRate_ < ShrinkThreshold) {
+    } else if (maxChunkCount() > 1 && promotionRate < ShrinkThreshold) {
         shrinkAllocableSpace(maxChunkCount() - 1);
     }
-
-    previousPromotionRate_ = promotionRate;
 }
 
 void
 js::Nursery::growAllocableSpace()
 {
     maxChunkCount_ = Min(maxChunkCount() * 2, chunkCountLimit());
 }
 
@@ -1268,19 +1263,21 @@ void
 js::Nursery::shrinkAllocableSpace(unsigned newCount)
 {
 #ifdef JS_GC_ZEAL
     if (runtime()->hasZealMode(ZealMode::GenerationalGC)) {
         return;
     }
 #endif
 
-    // Don't shrink the nursery to zero (use Nursery::disable() instead) and
-    // don't attempt to shrink it to the same size.
-    if ((newCount == 0) || (newCount == maxChunkCount())) {
+    // Don't shrink the nursery to zero (use Nursery::disable() instead)
+    MOZ_ASSERT(newCount != 0);
+
+    // Don't attempt to shrink it to the same size.
+    if (newCount == maxChunkCount()) {
         return;
     }
 
     MOZ_ASSERT(newCount < maxChunkCount());
 
     if (newCount < allocatedChunkCount()) {
         freeChunksFrom(newCount);
     }
--- a/js/src/gc/Nursery.h
+++ b/js/src/gc/Nursery.h
@@ -391,19 +391,16 @@ class Nursery
     /*
      * This limit is fixed by configuration.  It represents the maximum size
      * the nursery is permitted to tune itself to in maybeResizeNursery();
      */
     unsigned chunkCountLimit_;
 
     mozilla::TimeDuration timeInChunkAlloc_;
 
-    /* Promotion rate for the previous minor collection. */
-    float previousPromotionRate_;
-
     /* Report minor collections taking at least this long, if enabled. */
     mozilla::TimeDuration profileThreshold_;
     bool enableProfiling_;
 
     /* Whether we will nursery-allocate strings. */
     bool canAllocateStrings_;
 
     /* Report ObjectGroups with at least this many instances tenured. */
--- a/toolkit/crashreporter/client/macbuild/Contents/Info.plist
+++ b/toolkit/crashreporter/client/macbuild/Contents/Info.plist
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>English</string>
 	<key>CFBundleDisplayName</key>
 	<string>crashreporter</string>
 	<key>CFBundleExecutable</key>
 	<string>crashreporter</string>
@@ -23,10 +23,12 @@
 	<key>CFBundleVersion</key>
 	<string>1.0</string>
 	<key>LSHasLocalizedDisplayName</key>
 	<true/>
 	<key>NSMainNibFile</key>
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
 	<string>NSApplication</string>
+	<key>LSUIElement</key>
+	<true/>
 </dict>
 </plist>
--- a/toolkit/mozapps/update/updater/macbuild/Contents/Info.plist.in
+++ b/toolkit/mozapps/update/updater/macbuild/Contents/Info.plist.in
@@ -26,14 +26,16 @@
 	<string>10.5</string>
 	<key>LSMinimumSystemVersionByArchitecture</key>
 	<dict>
 		<key>i386</key>
 		<string>10.5.0</string>
 		<key>x86_64</key>
 		<string>10.6.0</string>
 	</dict>
+	<key>LSUIElement</key>
+	<true/>
 	<key>SMAuthorizedClients</key>
 	<array>
 		<string>identifier "%MOZ_MACBUNDLE_ID%" and ((anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9]) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "43AQ936H96"))</string>
 	</array>
 </dict>
 </plist>