зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1213391. Unmark gray things before putting them into function reserved slots in Promise code. r=mccr8
This commit is contained in:
Родитель
5634b62e5d
Коммит
6a503bcc2a
|
@ -354,9 +354,7 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_END
|
|||
|
||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(Promise)
|
||||
if (tmp->IsBlack()) {
|
||||
if (tmp->mResult.isObject()) {
|
||||
JS::ExposeObjectToActiveJS(&(tmp->mResult.toObject()));
|
||||
}
|
||||
JS::ExposeValueToActiveJS(tmp->mResult);
|
||||
if (tmp->mAllocationStack) {
|
||||
JS::ExposeObjectToActiveJS(tmp->mAllocationStack);
|
||||
}
|
||||
|
@ -615,6 +613,7 @@ Promise::CreateFunction(JSContext* aCx, Promise* aPromise, int32_t aTask)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
JS::ExposeValueToActiveJS(promiseObj);
|
||||
js::SetFunctionNativeReserved(obj, SLOT_PROMISE, promiseObj);
|
||||
js::SetFunctionNativeReserved(obj, SLOT_DATA, JS::Int32Value(aTask));
|
||||
|
||||
|
@ -642,6 +641,7 @@ Promise::CreateThenableFunction(JSContext* aCx, Promise* aPromise, uint32_t aTas
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
JS::ExposeValueToActiveJS(promiseObj);
|
||||
js::SetFunctionNativeReserved(obj, SLOT_PROMISE, promiseObj);
|
||||
|
||||
return obj;
|
||||
|
|
Загрузка…
Ссылка в новой задаче