Backed out 2 changesets (bug 1204169, bug 1074935) for Werror bustage CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Thu, 17 Sep 2015 13:58:15 -0700
changeset 295762 60adc85f21cbeecdc3c326c60d06ef5938394d06
parent 295761 078fc05c0a31a5c7643cf6411486157614adfa8c
child 295763 85b3e7100079de30cf23737c9ed2a1be6da13b12
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1204169, 1074935
milestone43.0a1
backs outb4621131ea0175ae7761815deccc9a139e12d7a2
14dbd30e63af465fff8f12d49ad91b18c3baf23b
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 2 changesets (bug 1204169, bug 1074935) for Werror bustage CLOSED TREE Backed out changeset b4621131ea01 (bug 1074935) Backed out changeset 14dbd30e63af (bug 1204169)
js/src/gc/GCInternals.h
js/src/jsgc.cpp
js/src/vm/String.cpp
--- a/js/src/gc/GCInternals.h
+++ b/js/src/gc/GCInternals.h
@@ -51,17 +51,16 @@ class MOZ_RAII AutoTraceSession
     AutoLockForExclusiveAccess lock;
     JSRuntime* runtime;
 
   private:
     AutoTraceSession(const AutoTraceSession&) = delete;
     void operator=(const AutoTraceSession&) = delete;
 
     JS::HeapState prevState;
-    AutoSPSEntry pseudoFrame;
 };
 
 struct MOZ_RAII AutoPrepareForTracing
 {
     AutoFinishGC finish;
     AutoTraceSession session;
     AutoCopyFreeListToArenas copy;
 
--- a/js/src/jsgc.cpp
+++ b/js/src/jsgc.cpp
@@ -5575,38 +5575,21 @@ GCRuntime::finishCollection(JS::gcreason
     // a zeal-triggered GC, we want to ensure that the mutator can continue
     // allocating on the same pages to reduce fragmentation.
     if (IsOOMReason(reason) || reason == JS::gcreason::DEBUG_GC) {
         gcstats::AutoPhase ap(stats, gcstats::PHASE_WAIT_BACKGROUND_THREAD);
         rt->gc.waitBackgroundSweepOrAllocEnd();
     }
 }
 
-static const char*
-HeapStateToLabel(JS::HeapState heapState)
-{
-    switch (heapState) {
-      case JS::HeapState::MinorCollecting:
-        return "js::Nursery::collect";
-      case JS::HeapState::MajorCollecting:
-        return "js::GCRuntime::collect";
-      case JS::HeapState::Tracing:
-        return "JS_IterateCompartments";
-      case JS::HeapState::Idle:
-        MOZ_CRASH("Should never have an Idle heap state when pushing GC pseudo frames!");
-    }
-    MOZ_ASSERT_UNREACHABLE("Should have exhausted every JS::HeapState variant!");
-}
-
 /* Start a new heap session. */
 AutoTraceSession::AutoTraceSession(JSRuntime* rt, JS::HeapState heapState)
   : lock(rt),
     runtime(rt),
-    prevState(rt->heapState_),
-    pseudoFrame(rt, HeapStateToLabel(heapState), ProfileEntry::Category::GC)
+    prevState(rt->heapState_)
 {
     MOZ_ASSERT(rt->heapState_ == JS::HeapState::Idle);
     MOZ_ASSERT(heapState != JS::HeapState::Idle);
     MOZ_ASSERT_IF(heapState == JS::HeapState::MajorCollecting, rt->gc.nursery.isEmpty());
 
     // Threads with an exclusive context can hit refillFreeList while holding
     // the exclusive access lock. To avoid deadlocking when we try to acquire
     // this lock during GC and the other thread is waiting, make sure we hold
--- a/js/src/vm/String.cpp
+++ b/js/src/vm/String.cpp
@@ -9,17 +9,16 @@
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/PodOperations.h"
 #include "mozilla/RangedPtr.h"
 #include "mozilla/TypeTraits.h"
 
 #include "gc/Marking.h"
 #include "js/UbiNode.h"
-#include "vm/SPSProfiler.h"
 
 #include "jscntxtinlines.h"
 #include "jscompartmentinlines.h"
 
 using namespace js;
 
 using mozilla::IsSame;
 using mozilla::PodCopy;
@@ -550,20 +549,16 @@ JSRope::flattenInternal(ExclusiveContext
     if (hasTwoByteChars())
         return flattenInternal<b, char16_t>(maybecx);
     return flattenInternal<b, Latin1Char>(maybecx);
 }
 
 JSFlatString*
 JSRope::flatten(ExclusiveContext* maybecx)
 {
-    mozilla::Maybe<AutoSPSEntry> sps;
-    if (maybecx && maybecx->isJSContext())
-        sps.emplace(maybecx->asJSContext()->runtime(), "JSRope::flatten");
-
     if (zone()->needsIncrementalBarrier())
         return flattenInternal<WithIncrementalBarrier>(maybecx);
     return flattenInternal<NoBarrier>(maybecx);
 }
 
 template <AllowGC allowGC>
 JSString*
 js::ConcatStrings(ExclusiveContext* cx,