mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1136322 - Optimize anon scopes from CC graph, r=mccr8
This commit is contained in:
parent
49b025d745
commit
2e7c8d5696
@ -41,6 +41,7 @@ ProcessGlobal::Get()
|
||||
NS_IMETHODIMP_(bool)
|
||||
ProcessGlobal::MarkForCC()
|
||||
{
|
||||
MarkScopesForCC();
|
||||
return mMessageManager ? mMessageManager->MarkForCC() : false;
|
||||
}
|
||||
|
||||
|
@ -1682,6 +1682,17 @@ nsMessageManagerScriptExecutor::InitChildGlobalInternal(
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
nsMessageManagerScriptExecutor::MarkScopesForCC()
|
||||
{
|
||||
for (uint32_t i = 0; i < mAnonymousGlobalScopes.Length(); ++i) {
|
||||
JSObject* obj = mAnonymousGlobalScopes[i];
|
||||
if (obj) {
|
||||
JS::ExposeObjectToActiveJS(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(nsScriptCacheCleaner, nsIObserver)
|
||||
|
||||
nsFrameMessageManager* nsFrameMessageManager::sChildProcessManager = nullptr;
|
||||
|
@ -401,6 +401,8 @@ public:
|
||||
nsCOMPtr<nsIXPConnectJSObjectHolder> ref = mGlobal;
|
||||
return ref.forget();
|
||||
}
|
||||
|
||||
void MarkScopesForCC();
|
||||
protected:
|
||||
friend class nsMessageManagerScriptCx;
|
||||
nsMessageManagerScriptExecutor() { MOZ_COUNT_CTOR(nsMessageManagerScriptExecutor); }
|
||||
|
@ -129,6 +129,7 @@ nsInProcessTabChildGlobal::~nsInProcessTabChildGlobal()
|
||||
NS_IMETHODIMP_(bool)
|
||||
nsInProcessTabChildGlobal::MarkForCC()
|
||||
{
|
||||
MarkScopesForCC();
|
||||
return mMessageManager ? mMessageManager->MarkForCC() : false;
|
||||
}
|
||||
|
||||
|
@ -3202,6 +3202,9 @@ NS_IMPL_RELEASE_INHERITED(TabChildGlobal, DOMEventTargetHelper)
|
||||
NS_IMETHODIMP_(bool)
|
||||
TabChildGlobal::MarkForCC()
|
||||
{
|
||||
if (mTabChild) {
|
||||
mTabChild->MarkScopesForCC();
|
||||
}
|
||||
return mMessageManager ? mMessageManager->MarkForCC() : false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user