mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make BHR hang reports meaningful. This patch adds enough labels to let us exploit hang reports matching the 25 topmost chrome hangs.
This commit is contained in:
parent
d9bd89ebf3
commit
3a3c914116
@ -141,6 +141,7 @@ NotificationController::IsUpdatePending()
|
||||
void
|
||||
NotificationController::WillRefresh(mozilla::TimeStamp aTime)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
Telemetry::AutoTimer<Telemetry::A11Y_UPDATE_TIME> updateTimer;
|
||||
|
||||
// If the document accessible that notification collector was created for is
|
||||
|
@ -781,6 +781,7 @@ bool
|
||||
nsFrameLoader::ShowRemoteFrame(const ScreenIntSize& size,
|
||||
nsSubDocumentFrame *aFrame)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||
NS_ASSERTION(IsRemoteFrame(), "ShowRemote only makes sense on remote frames.");
|
||||
|
||||
if (!mRemoteBrowser && !TryRemoteBrowser()) {
|
||||
|
@ -1335,6 +1335,8 @@ nsJSContext::ShrinkGCBuffersNow()
|
||||
static void
|
||||
FinishAnyIncrementalGC()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GC);
|
||||
|
||||
if (sCCLockedOut) {
|
||||
// We're in the middle of an incremental GC, so finish it.
|
||||
JS::PrepareForIncrementalGC(sRuntime);
|
||||
|
@ -3102,6 +3102,7 @@ nsObjectLoadingContent::DoStopPlugin(nsPluginInstanceOwner* aInstanceOwner,
|
||||
NS_IMETHODIMP
|
||||
nsObjectLoadingContent::StopPluginInstance()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
// Clear any pending events
|
||||
mPendingInstantiateEvent = nullptr;
|
||||
mPendingCheckPluginStopEvent = nullptr;
|
||||
|
@ -1237,6 +1237,8 @@ ContentParent::CreateBrowserOrApp(const TabContext& aContext,
|
||||
Element* aFrameElement,
|
||||
ContentParent* aOpenerContentParent)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
if (!sCanLaunchSubprocesses) {
|
||||
return nullptr;
|
||||
}
|
||||
@ -2386,6 +2388,8 @@ ContentParent::InitializeMembers()
|
||||
bool
|
||||
ContentParent::LaunchSubprocess(ProcessPriority aInitialPriority /* = PROCESS_PRIORITY_FOREGROUND */)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
std::vector<std::string> extraArgs;
|
||||
if (mIsNuwaProcess) {
|
||||
extraArgs.push_back("-nuwa");
|
||||
@ -3642,6 +3646,8 @@ ContentParent::ForceKillTimerCallback(nsITimer* aTimer, void* aClosure)
|
||||
void
|
||||
ContentParent::KillHard(const char* aReason)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
// On Windows, calling KillHard multiple times causes problems - the
|
||||
// process handle becomes invalid on the first call, causing a second call
|
||||
// to crash our process - more details in bug 890840.
|
||||
|
@ -1366,6 +1366,7 @@ nsresult nsPluginHost::EnsurePluginLoaded(nsPluginTag* aPluginTag)
|
||||
nsresult
|
||||
nsPluginHost::GetPluginForContentProcess(uint32_t aPluginId, nsNPAPIPlugin** aPlugin)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
MOZ_ASSERT(XRE_IsParentProcess());
|
||||
|
||||
// If plugins haven't been scanned yet, do so now
|
||||
|
@ -110,6 +110,7 @@ mozilla::plugins::SetupBridge(uint32_t aPluginId,
|
||||
nsresult* rv,
|
||||
uint32_t* runID)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
if (NS_WARN_IF(!rv) || NS_WARN_IF(!runID)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -206,6 +206,7 @@ static void DestroyTextureData(TextureData* aTextureData, ISurfaceAllocator* aAl
|
||||
void
|
||||
TextureChild::ActorDestroy(ActorDestroyReason why)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||
mWaitForRecycle = nullptr;
|
||||
|
||||
if (mTextureData) {
|
||||
|
@ -14,6 +14,8 @@
|
||||
#include "mozilla/dom/BindingUtils.h"
|
||||
#include "nsGlobalWindow.h"
|
||||
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
#include "nsID.h"
|
||||
|
||||
using namespace js;
|
||||
@ -172,6 +174,8 @@ bool
|
||||
AddonWrapper<Base>::get(JSContext* cx, JS::Handle<JSObject*> wrapper, JS::Handle<Value> receiver,
|
||||
JS::Handle<jsid> id, JS::MutableHandle<JS::Value> vp) const
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
Rooted<JSPropertyDescriptor> desc(cx);
|
||||
if (!InterposeProperty(cx, wrapper, nullptr, id, &desc))
|
||||
return false;
|
||||
|
@ -82,6 +82,7 @@ public:
|
||||
explicit AsyncFrameInit(nsIFrame* aFrame) : mFrame(aFrame) {}
|
||||
NS_IMETHOD Run()
|
||||
{
|
||||
PROFILER_LABEL("mozilla", "AsyncFrameInit::Run", js::ProfileEntry::Category::OTHER);
|
||||
if (mFrame.IsAlive()) {
|
||||
static_cast<nsSubDocumentFrame*>(mFrame.GetFrame())->ShowViewer();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user