зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1329467 - Revert bug 1151829 to unbreak non-SPS build after bug 1322553
. r=mstange
MozReview-Commit-ID: 14QL0Unr84G --HG-- extra : rebase_source : 0b0cd50d4c08bfc1d16f648a40c21ce56a72af5f
This commit is contained in:
Родитель
58469cc1a0
Коммит
4676a59c08
|
@ -61,9 +61,7 @@ RestyleTracker::Document() const {
|
|||
|
||||
struct RestyleEnumerateData : RestyleTracker::Hints {
|
||||
RefPtr<dom::Element> mElement;
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
UniqueProfilerBacktrace mBacktrace;
|
||||
#endif
|
||||
};
|
||||
|
||||
inline void
|
||||
|
@ -257,12 +255,10 @@ RestyleTracker::DoProcessRestyles()
|
|||
data->mRestyleHint, MarkerTracingType::START)));
|
||||
}
|
||||
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
Maybe<GeckoProfilerTracingRAII> profilerRAII;
|
||||
if (profiler_feature_active("restyle")) {
|
||||
profilerRAII.emplace("Paint", "Styles", Move(data->mBacktrace));
|
||||
}
|
||||
#endif
|
||||
ProcessOneRestyle(element, data->mRestyleHint, data->mChangeHint,
|
||||
data->mRestyleHintData);
|
||||
AddRestyleRootsIfAwaitingRestyle(data->mDescendants);
|
||||
|
@ -337,9 +333,7 @@ RestyleTracker::DoProcessRestyles()
|
|||
// We can move data since we'll be clearing mPendingRestyles after
|
||||
// we finish enumerating it.
|
||||
restyle->mRestyleHintData = Move(data->mRestyleHintData);
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
restyle->mBacktrace = Move(data->mBacktrace);
|
||||
#endif
|
||||
|
||||
#ifdef RESTYLE_LOGGING
|
||||
count++;
|
||||
|
@ -365,12 +359,10 @@ RestyleTracker::DoProcessRestyles()
|
|||
index++, count);
|
||||
LOG_RESTYLE_INDENT();
|
||||
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
Maybe<GeckoProfilerTracingRAII> profilerRAII;
|
||||
if (profiler_feature_active("restyle")) {
|
||||
profilerRAII.emplace("Paint", "Styles", Move(currentRestyle->mBacktrace));
|
||||
}
|
||||
#endif
|
||||
if (isTimelineRecording) {
|
||||
timelines->AddMarkerForDocShell(docShell, Move(
|
||||
MakeUnique<RestyleTimelineMarker>(
|
||||
|
|
|
@ -22,10 +22,6 @@
|
|||
#include "GeckoProfiler.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
#include "ProfilerBacktrace.h"
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
class RestyleManager;
|
||||
|
@ -128,9 +124,7 @@ public:
|
|||
// that we called AddPendingRestyle for and found the element this is
|
||||
// the RestyleData for as its nearest restyle root.
|
||||
nsTArray<RefPtr<Element>> mDescendants;
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
UniqueProfilerBacktrace mBacktrace;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -265,11 +259,9 @@ RestyleTracker::AddPendingRestyleToTable(Element* aElement,
|
|||
if (!existingData) {
|
||||
RestyleData* rd =
|
||||
new RestyleData(aRestyleHint, aMinChangeHint, aRestyleHintData);
|
||||
#if defined(MOZ_ENABLE_PROFILER_SPS)
|
||||
if (profiler_feature_active("restyle")) {
|
||||
rd->mBacktrace = profiler_get_backtrace();
|
||||
}
|
||||
#endif
|
||||
mPendingRestyles.Put(aElement, rd);
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
#ifndef SPS_STANDALONE
|
||||
#include "js/TypeDecls.h"
|
||||
#endif
|
||||
#include "mozilla/GuardObjects.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "mozilla/Vector.h"
|
||||
#include "GeckoProfilerTypes.h"
|
||||
|
@ -309,4 +310,39 @@ private:
|
|||
bool mIssuedWake;
|
||||
};
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
class MOZ_RAII GeckoProfilerTracingRAII {
|
||||
public:
|
||||
GeckoProfilerTracingRAII(const char* aCategory, const char* aInfo,
|
||||
UniqueProfilerBacktrace aBacktrace
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mCategory(aCategory)
|
||||
, mInfo(aInfo)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
profiler_tracing(mCategory, mInfo, Move(aBacktrace), TRACING_INTERVAL_START);
|
||||
}
|
||||
|
||||
GeckoProfilerTracingRAII(const char* aCategory, const char* aInfo
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mCategory(aCategory)
|
||||
, mInfo(aInfo)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
profiler_tracing(mCategory, mInfo, TRACING_INTERVAL_START);
|
||||
}
|
||||
|
||||
~GeckoProfilerTracingRAII() {
|
||||
profiler_tracing(mCategory, mInfo, TRACING_INTERVAL_END);
|
||||
}
|
||||
|
||||
protected:
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
const char* mCategory;
|
||||
const char* mInfo;
|
||||
};
|
||||
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // ifndef SAMPLER_H
|
||||
|
|
|
@ -382,37 +382,6 @@ static inline void profiler_tracing(const char* aCategory, const char* aInfo,
|
|||
|
||||
namespace mozilla {
|
||||
|
||||
class MOZ_RAII GeckoProfilerTracingRAII {
|
||||
public:
|
||||
GeckoProfilerTracingRAII(const char* aCategory, const char* aInfo,
|
||||
UniqueProfilerBacktrace aBacktrace
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mCategory(aCategory)
|
||||
, mInfo(aInfo)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
profiler_tracing(mCategory, mInfo, Move(aBacktrace), TRACING_INTERVAL_START);
|
||||
}
|
||||
|
||||
GeckoProfilerTracingRAII(const char* aCategory, const char* aInfo
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mCategory(aCategory)
|
||||
, mInfo(aInfo)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
profiler_tracing(mCategory, mInfo, TRACING_INTERVAL_START);
|
||||
}
|
||||
|
||||
~GeckoProfilerTracingRAII() {
|
||||
profiler_tracing(mCategory, mInfo, TRACING_INTERVAL_END);
|
||||
}
|
||||
|
||||
protected:
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
const char* mCategory;
|
||||
const char* mInfo;
|
||||
};
|
||||
|
||||
class MOZ_RAII SamplerStackFrameRAII {
|
||||
public:
|
||||
// we only copy the strings at save time, so to take multiple parameters we'd need to copy them then.
|
||||
|
|
Загрузка…
Ссылка в новой задаче