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 top 26-100 chrome hangs;r=BenWa
This commit is contained in:
parent
41e4edde4b
commit
8dc9509180
@ -8,6 +8,7 @@
|
||||
#include "SapiService.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsWin32Locale.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
#include "mozilla/dom/nsSynthVoiceRegistry.h"
|
||||
#include "mozilla/dom/nsSpeechTask.h"
|
||||
@ -196,6 +197,8 @@ SapiService::~SapiService()
|
||||
bool
|
||||
SapiService::Init()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
MOZ_ASSERT(!mInitialized);
|
||||
|
||||
if (Preferences::GetBool("media.webspeech.synth.test") ||
|
||||
|
@ -1646,6 +1646,8 @@ NPObjWrapper_Resolve(JSContext *cx, JS::Handle<JSObject*> obj, JS::Handle<jsid>
|
||||
if (JSID_IS_SYMBOL(id))
|
||||
return true;
|
||||
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS);
|
||||
|
||||
NPObject *npobj = GetNPObject(cx, obj);
|
||||
|
||||
if (!npobj || !npobj->_class || !npobj->_class->hasProperty ||
|
||||
@ -2110,6 +2112,8 @@ static bool
|
||||
NPObjectMember_GetProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
|
||||
JS::MutableHandleValue vp)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
if (JSID_IS_SYMBOL(id)) {
|
||||
JS::RootedSymbol sym(cx, JSID_TO_SYMBOL(id));
|
||||
if (JS::GetSymbolCode(sym) == JS::SymbolCode::toPrimitive) {
|
||||
|
@ -265,6 +265,8 @@ nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
|
||||
inline PluginLibrary*
|
||||
GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
if (!aPluginTag) {
|
||||
return nullptr;
|
||||
}
|
||||
@ -283,6 +285,7 @@ GetNewPluginLibrary(nsPluginTag *aPluginTag)
|
||||
nsresult
|
||||
nsNPAPIPlugin::CreatePlugin(nsPluginTag *aPluginTag, nsNPAPIPlugin** aResult)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
*aResult = nullptr;
|
||||
|
||||
if (!aPluginTag) {
|
||||
|
@ -280,6 +280,7 @@ nsNPAPIPluginInstance::StopTime()
|
||||
|
||||
nsresult nsNPAPIPluginInstance::Initialize(nsNPAPIPlugin *aPlugin, nsPluginInstanceOwner* aOwner, const nsACString& aMIMEType)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
PLUGIN_LOG(PLUGIN_LOG_NORMAL, ("nsNPAPIPluginInstance::Initialize this=%p\n",this));
|
||||
|
||||
NS_ENSURE_ARG_POINTER(aPlugin);
|
||||
@ -655,6 +656,8 @@ nsresult nsNPAPIPluginInstance::HandleEvent(void* event, int16_t* result,
|
||||
if (RUNNING != mRunning)
|
||||
return NS_OK;
|
||||
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
if (!event)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
|
@ -286,6 +286,7 @@ nsNPAPIPluginStreamListener::CallURLNotify(NPReason reason)
|
||||
nsresult
|
||||
nsNPAPIPluginStreamListener::OnStartBinding(nsPluginStreamListenerPeer* streamPeer)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
if (!mInst || !mInst->CanFireNotifications() || mStreamCleanedUp)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
|
@ -3522,6 +3522,7 @@ nsPluginHost::AddHeadersToChannel(const char *aHeadersData,
|
||||
nsresult
|
||||
nsPluginHost::StopPluginInstance(nsNPAPIPluginInstance* aInstance)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
if (PluginDestructionGuard::DelayDestroy(aInstance)) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -3600,6 +3600,8 @@ nsPluginInstanceOwner::UpdateWindowVisibility(bool aVisible)
|
||||
void
|
||||
nsPluginInstanceOwner::UpdateDocumentActiveState(bool aIsActive)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
mPluginDocumentActiveState = aIsActive;
|
||||
#ifndef XP_MACOSX
|
||||
UpdateWindowPositionAndClipRect(true);
|
||||
|
@ -154,6 +154,7 @@ DOMStorageDBThread::Shutdown()
|
||||
void
|
||||
DOMStorageDBThread::SyncPreload(DOMStorageCacheBridge* aCache, bool aForceSync)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::STORAGE);
|
||||
if (!aForceSync && aCache->LoadedCount()) {
|
||||
// Preload already started for this cache, just wait for it to finish.
|
||||
// LoadWait will exit after LoadDone on the cache has been called.
|
||||
|
@ -524,6 +524,8 @@ gfxDWriteFontEntry::GetFontTable(uint32_t aTag)
|
||||
nsresult
|
||||
gfxDWriteFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||
|
||||
// attempt this once, if errors occur leave a blank cmap
|
||||
if (mCharacterMap) {
|
||||
return NS_OK;
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "nsISimpleEnumerator.h"
|
||||
#include "nsIWindowsRegKey.h"
|
||||
#include "gfxFontConstants.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
@ -143,6 +144,8 @@ GDIFontEntry::GDIFontEntry(const nsAString& aFaceName,
|
||||
nsresult
|
||||
GDIFontEntry::ReadCMAP(FontInfoData *aFontInfoData)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
// attempt this once, if errors occur leave a blank cmap
|
||||
if (mCharacterMap) {
|
||||
return NS_OK;
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsTArray.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
#include "nsIWindowsRegKey.h"
|
||||
#include "nsIFile.h"
|
||||
@ -1205,6 +1206,8 @@ InvalidateWindowForDeviceReset(HWND aWnd, LPARAM aMsg)
|
||||
bool
|
||||
gfxWindowsPlatform::UpdateForDeviceReset()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||
|
||||
if (!DidRenderingDeviceReset()) {
|
||||
return false;
|
||||
}
|
||||
|
@ -79,6 +79,7 @@ FrameAnimator::AdvanceFrame(TimeStamp aTime)
|
||||
{
|
||||
NS_ASSERTION(aTime <= TimeStamp::Now(),
|
||||
"Given time appears to be in the future");
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::GRAPHICS);
|
||||
|
||||
uint32_t currentFrameIndex = mCurrentAnimationFrameIndex;
|
||||
uint32_t nextFrameIndex = currentFrameIndex + 1;
|
||||
|
@ -381,6 +381,8 @@ GeckoChildProcessHost::AsyncLaunch(std::vector<std::string> aExtraOpts,
|
||||
bool
|
||||
GeckoChildProcessHost::WaitUntilConnected(int32_t aTimeoutMs)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
// NB: this uses a different mechanism than the chromium parent
|
||||
// class.
|
||||
PRIntervalTime timeoutTicks = (aTimeoutMs > 0) ?
|
||||
|
@ -145,6 +145,7 @@ const char CPOWProxyHandler::family = 0;
|
||||
const CPOWProxyHandler CPOWProxyHandler::singleton;
|
||||
|
||||
#define FORWARD(call, args) \
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS); \
|
||||
WrapperOwner* owner = OwnerOf(proxy); \
|
||||
if (!owner->active()) { \
|
||||
JS_ReportError(cx, "cannot use a CPOW whose process is gone"); \
|
||||
|
@ -3010,6 +3010,7 @@ nsXPCComponents_Utils::SetGCZeal(int32_t aValue, JSContext* cx)
|
||||
NS_IMETHODIMP
|
||||
nsXPCComponents_Utils::NukeSandbox(HandleValue obj, JSContext* cx)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::JS);
|
||||
NS_ENSURE_TRUE(obj.isObject(), NS_ERROR_INVALID_ARG);
|
||||
JSObject* wrapper = &obj.toObject();
|
||||
NS_ENSURE_TRUE(IsWrapper(wrapper), NS_ERROR_INVALID_ARG);
|
||||
|
@ -305,7 +305,10 @@ GetBufferFromZipArchive(nsZipArchive *zip, bool doCRC, const char* id,
|
||||
nsresult
|
||||
StartupCache::GetBuffer(const char* id, char** outbuf, uint32_t* length)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
NS_ASSERTION(NS_IsMainThread(), "Startup cache only available on main thread");
|
||||
|
||||
WaitOnWriteThread();
|
||||
if (!mStartupWriteInitiated) {
|
||||
CacheEntry* entry;
|
||||
|
@ -1310,6 +1310,7 @@ nsUrlClassifierDBService::ClassifyLocalWithTables(nsIURI *aURI,
|
||||
const nsACString & aTables,
|
||||
nsACString & aTableResults)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
MOZ_ASSERT(NS_IsMainThread(), "ClassifyLocalWithTables must be on main thread");
|
||||
|
||||
nsCOMPtr<nsIURI> uri = NS_GetInnermostURI(aURI);
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "nsNetCID.h"
|
||||
#include "nsISupportsPrimitives.h"
|
||||
#include "nsIURI.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
class nsWindowsSystemProxySettings final : public nsISystemProxySettings
|
||||
{
|
||||
@ -203,6 +204,7 @@ nsWindowsSystemProxySettings::PatternMatch(const nsACString& aHost,
|
||||
nsresult
|
||||
nsWindowsSystemProxySettings::GetPACURI(nsACString& aResult)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::STORAGE);
|
||||
nsresult rv;
|
||||
uint32_t flags = 0;
|
||||
nsAutoString buf;
|
||||
|
@ -910,6 +910,8 @@ nsXREDirProvider::DoStartup()
|
||||
void
|
||||
nsXREDirProvider::DoShutdown()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
if (mProfileNotified) {
|
||||
nsCOMPtr<nsIObserverService> obsSvc =
|
||||
mozilla::services::GetObserverService();
|
||||
|
@ -211,6 +211,8 @@ nsBaseDragService::InvokeDragSession(nsIDOMNode *aDOMNode,
|
||||
nsIScriptableRegion* aDragRgn,
|
||||
uint32_t aActionType)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
NS_ENSURE_TRUE(aDOMNode, NS_ERROR_INVALID_ARG);
|
||||
NS_ENSURE_TRUE(mSuppressLevel == 0, NS_ERROR_FAILURE);
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "nsToolkit.h"
|
||||
#include "WinUtils.h"
|
||||
#include "nsPIDOMWindow.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
using mozilla::IsVistaOrLater;
|
||||
using mozilla::MakeUnique;
|
||||
@ -868,6 +869,7 @@ nsFilePicker::ShowXPFilePicker(const nsString& aInitialDir)
|
||||
bool
|
||||
nsFilePicker::ShowFilePicker(const nsString& aInitialDir, bool &aWasInitError)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
RefPtr<IFileDialog> dialog;
|
||||
if (mMode != modeSave) {
|
||||
if (FAILED(CoCreateInstance(CLSID_FileOpenDialog, nullptr, CLSCTX_INPROC,
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include <psapi.h>
|
||||
|
||||
#include "nsWindowsHelpers.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@ -36,6 +37,8 @@ bool
|
||||
HandleToFilename(HANDLE aHandle, const LARGE_INTEGER& aOffset,
|
||||
nsAString& aFilename)
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::NETWORK);
|
||||
|
||||
aFilename.Truncate();
|
||||
// This implementation is nice because it uses fully documented APIs that
|
||||
// are available on all Windows versions that we support.
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsMemory.h"
|
||||
#include "GeckoProfiler.h"
|
||||
|
||||
#include "nsLocalFile.h"
|
||||
#include "nsIDirectoryEnumerator.h"
|
||||
@ -1070,6 +1071,7 @@ nsLocalFile::ResolveAndStat()
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
// we can't resolve/stat anything that isn't a valid NSPR addressable path
|
||||
if (mWorkingPath.IsEmpty()) {
|
||||
return NS_ERROR_FILE_INVALID_PATH;
|
||||
|
@ -383,6 +383,8 @@ NS_IMETHODIMP nsXULWindow::RemoveChildWindow(nsIXULWindow *aChild)
|
||||
|
||||
NS_IMETHODIMP nsXULWindow::ShowModal()
|
||||
{
|
||||
PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
|
||||
|
||||
// Store locally so it doesn't die on us
|
||||
nsCOMPtr<nsIWidget> window = mWindow;
|
||||
nsCOMPtr<nsIXULWindow> tempRef = this;
|
||||
|
Loading…
Reference in New Issue
Block a user