Backed out changeset 3ed8f64c76a5 (bug 1322560) on a CLOSED TREE for rebase bustage.
authorSteve Fink <sfink@mozilla.com>
Fri, 28 Apr 2017 11:13:17 -0700
changeset 355599 793cb1b17440a98a34d015fe19dd81c3474a46f3
parent 355598 f40f9adb88a64871d00092506f90059be9e250f5
child 355600 3e8d1d1ee323b8964269d0a319ada3f57c6cef54
push id89705
push usersfink@mozilla.com
push dateFri, 28 Apr 2017 18:20:04 +0000
treeherdermozilla-inbound@793cb1b17440 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1322560
milestone55.0a1
backs out3ed8f64c76a504e57970468cc6c959d6e3e382c6
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 3ed8f64c76a5 (bug 1322560) on a CLOSED TREE for rebase bustage.
js/src/gc/Heap.h
js/src/gc/Statistics.h
js/src/jsobj.h
--- a/js/src/gc/Heap.h
+++ b/js/src/gc/Heap.h
@@ -256,18 +256,16 @@ struct Cell
 
     // Note: Unrestricted access to the runtime of a GC thing from an arbitrary
     // thread can easily lead to races. Use this method very carefully.
     inline JSRuntime* runtimeFromAnyThread() const;
 
     // May be overridden by GC thing kinds that have a compartment pointer.
     inline JSCompartment* maybeCompartment() const { return nullptr; }
 
-    // The StoreBuffer used to record incoming pointers from the tenured heap.
-    // This will return nullptr for a tenured cell.
     inline StoreBuffer* storeBuffer() const;
 
     inline JS::TraceKind getTraceKind() const;
 
     static MOZ_ALWAYS_INLINE bool needWriteBarrierPre(JS::Zone* zone);
 
 #ifdef DEBUG
     inline bool isAligned() const;
@@ -766,36 +764,35 @@ FreeSpan::checkRange(uintptr_t first, ui
 
 /*
  * The tail of the chunk info is shared between all chunks in the system, both
  * nursery and tenured. This structure is locatable from any GC pointer by
  * aligning to 1MiB.
  */
 struct ChunkTrailer
 {
-    // Construct a Nursery ChunkTrailer.
+    /* Construct a Nursery ChunkTrailer. */
     ChunkTrailer(JSRuntime* rt, StoreBuffer* sb)
       : location(ChunkLocation::Nursery), storeBuffer(sb), runtime(rt)
     {}
 
-    // Construct a Tenured heap ChunkTrailer.
+    /* Construct a Tenured heap ChunkTrailer. */
     explicit ChunkTrailer(JSRuntime* rt)
       : location(ChunkLocation::TenuredHeap), storeBuffer(nullptr), runtime(rt)
     {}
 
   public:
-    // The index of the chunk in the nursery, or LocationTenuredHeap.
+    /* The index the chunk in the nursery, or LocationTenuredHeap. */
     ChunkLocation   location;
     uint32_t        padding;
 
-    // The store buffer for pointers from tenured things to things in this
-    // chunk. Will be non-null only for nursery chunks.
+    /* The store buffer for writes to things in this chunk or nullptr. */
     StoreBuffer*    storeBuffer;
 
-    // Provide quick access to the runtime from absolutely anywhere.
+    /* This provides quick access to the runtime from absolutely anywhere. */
     JSRuntime*      runtime;
 };
 
 static_assert(sizeof(ChunkTrailer) == ChunkTrailerSize,
               "ChunkTrailer size must match the API defined size.");
 
 /* The chunk header (located at the end of the chunk to preserve arena alignment). */
 struct ChunkInfo
--- a/js/src/gc/Statistics.h
+++ b/js/src/gc/Statistics.h
@@ -319,23 +319,23 @@ struct Statistics
     };
 
     typedef Vector<SliceData, 8, SystemAllocPolicy> SliceDataVector;
     typedef SliceDataVector::ConstRange SliceRange;
 
     SliceRange sliceRange() const { return slices.all(); }
     size_t slicesLength() const { return slices.length(); }
 
-    // Occasionally print header lines for profiling information.
+    /* Occasionally print header lines for profiling information. */
     void maybePrintProfileHeaders();
 
-    // Print header line for profile times.
+    /* Print header line for profile times. */
     void printProfileHeader();
 
-    // Print total profile times on shutdown.
+    /* Print total profile times on shutdown. */
     void printTotalProfileTimes();
 
   private:
     JSRuntime* runtime;
 
     /* File pointer used for MOZ_GCTIMER output. */
     FILE* fp;
 
--- a/js/src/jsobj.h
+++ b/js/src/jsobj.h
@@ -665,18 +665,17 @@ JSObject::writeBarrierPost(void* cellp, 
         // assert the presence of the entry because it may have been added
         // via a different store buffer.
         if (prev && prev->storeBuffer())
             return;
         buffer->putCell(static_cast<js::gc::Cell**>(cellp));
         return;
     }
 
-    // Remove the prev entry if the new value does not need it. There will only
-    // be a prev entry if the prev value was in the nursery.
+    // Remove the prev entry if the new value does not need it.
     if (prev && (buffer = prev->storeBuffer()))
         buffer->unputCell(static_cast<js::gc::Cell**>(cellp));
 }
 
 namespace js {
 
 inline bool
 IsCallable(const Value& v)