From fb96b43b5f6188233710c5f8c9c9e46baa9cb369 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 19 Dec 2019 01:35:24 +0100 Subject: Issue #1322 - Part 1: Remove the DOM Promise guts. This removes all the parts guarded by SPIDERMONKEY_PROMISE --- xpcom/base/CycleCollectedJSContext.cpp | 6 ------ xpcom/base/CycleCollectedJSContext.h | 12 ++---------- 2 files changed, 2 insertions(+), 16 deletions(-) (limited to 'xpcom') diff --git a/xpcom/base/CycleCollectedJSContext.cpp b/xpcom/base/CycleCollectedJSContext.cpp index 206984656..e16c15455 100644 --- a/xpcom/base/CycleCollectedJSContext.cpp +++ b/xpcom/base/CycleCollectedJSContext.cpp @@ -468,10 +468,8 @@ CycleCollectedJSContext::~CycleCollectedJSContext() MOZ_ASSERT(mDebuggerPromiseMicroTaskQueue.empty()); MOZ_ASSERT(mPromiseMicroTaskQueue.empty()); -#ifdef SPIDERMONKEY_PROMISE mUncaughtRejections.reset(); mConsumedRejections.reset(); -#endif // SPIDERMONKEY_PROMISE JS_DestroyContext(mJSContext); mJSContext = nullptr; @@ -544,12 +542,10 @@ CycleCollectedJSContext::Initialize(JSContext* aParentContext, JS::SetGetIncumbentGlobalCallback(mJSContext, GetIncumbentGlobalCallback); -#ifdef SPIDERMONKEY_PROMISE JS::SetEnqueuePromiseJobCallback(mJSContext, EnqueuePromiseJobCallback, this); JS::SetPromiseRejectionTrackerCallback(mJSContext, PromiseRejectionTrackerCallback, this); mUncaughtRejections.init(mJSContext, JS::GCVector(js::SystemAllocPolicy())); mConsumedRejections.init(mJSContext, JS::GCVector(js::SystemAllocPolicy())); -#endif // SPIDERMONKEY_PROMISE JS::dbg::SetDebuggerMallocSizeOf(mJSContext, moz_malloc_size_of); @@ -975,7 +971,6 @@ CycleCollectedJSContext::EnqueuePromiseJobCallback(JSContext* aCx, return true; } -#ifdef SPIDERMONKEY_PROMISE /* static */ void CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext* aCx, @@ -995,7 +990,6 @@ CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext* aCx, PromiseDebugging::AddConsumedRejection(aPromise); } } -#endif // SPIDERMONKEY_PROMISE struct JsGcTracer : public TraceCallbacks { diff --git a/xpcom/base/CycleCollectedJSContext.h b/xpcom/base/CycleCollectedJSContext.h index 9415634b8..ac4cf4361 100644 --- a/xpcom/base/CycleCollectedJSContext.h +++ b/xpcom/base/CycleCollectedJSContext.h @@ -224,12 +224,10 @@ private: JS::HandleObject aAllocationSite, JS::HandleObject aIncumbentGlobal, void* aData); -#ifdef SPIDERMONKEY_PROMISE static void PromiseRejectionTrackerCallback(JSContext* aCx, JS::HandleObject aPromise, PromiseRejectionHandlingState state, void* aData); -#endif // SPIDERMONKEY_PROMISE virtual void TraceNativeBlackRoots(JSTracer* aTracer) { }; void TraceNativeGrayRoots(JSTracer* aTracer); @@ -406,7 +404,7 @@ public: // Storage for watching rejected promises waiting for some client to // consume their rejection. -#ifdef SPIDERMONKEY_PROMISE + // Promises in this list have been rejected in the last turn of the // event loop without the rejection being handled. // Note that this can contain nullptrs in place of promises removed because @@ -417,13 +415,7 @@ public: // (because they were in the above list), but the rejection was handled // in the last turn of the event loop. JS::PersistentRooted> mConsumedRejections; -#else - // We store values as `nsISupports` to avoid adding compile-time dependencies - // from xpcom to dom/promise, but they can really only have a single concrete - // type. - nsTArray> mUncaughtRejections; - nsTArray> mConsumedRejections; -#endif // SPIDERMONKEY_PROMISE + nsTArray> mUncaughtRejectionObservers; private: -- cgit v1.2.3