author | Terrence Cole <terrence@mozilla.com> |
Tue, 12 Jan 2016 13:07:54 -0800 | |
changeset 314816 | a9935197c5b73c8f8fe2e736587393379ec38ffc |
parent 314815 | 560e1ee498a5662d02806b21db11107359f95d13 |
child 314817 | 7cda4fdbc3a6f31e8a894bd168572ae175681b6c |
push id | 5703 |
push user | raliiev@mozilla.com |
push date | Mon, 07 Mar 2016 14:18:41 +0000 |
treeherder | mozilla-beta@31e373ad5b5f [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | smaug |
bugs | 1238786 |
milestone | 46.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/bindings/BindingUtils.h +++ b/dom/bindings/BindingUtils.h @@ -306,17 +306,17 @@ class ProtoAndIfaceCache } JS::Heap<JSObject*>& EntrySlotMustExist(size_t i) { return (*this)[i]; } void Trace(JSTracer* aTracer) { for (size_t i = 0; i < ArrayLength(*this); ++i) { - JS::TraceNullableEdge(aTracer, &(*this)[i], "protoAndIfaceCache[i]"); + JS::TraceEdge(aTracer, &(*this)[i], "protoAndIfaceCache[i]"); } } size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) { return aMallocSizeOf(this); } }; @@ -365,17 +365,17 @@ class ProtoAndIfaceCache return (*p)[leafIndex]; } void Trace(JSTracer* trc) { for (size_t i = 0; i < ArrayLength(mPages); ++i) { Page* p = mPages[i]; if (p) { for (size_t j = 0; j < ArrayLength(*p); ++j) { - JS::TraceNullableEdge(trc, &(*p)[j], "protoAndIfaceCache[i]"); + JS::TraceEdge(trc, &(*p)[j], "protoAndIfaceCache[i]"); } } } } size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) { size_t n = aMallocSizeOf(this); for (size_t i = 0; i < ArrayLength(mPages); ++i) {
--- a/dom/bindings/TypedArray.h +++ b/dom/bindings/TypedArray.h @@ -39,22 +39,18 @@ protected: { aOther.mTypedObj = nullptr; aOther.mWrappedObj = nullptr; } public: inline void TraceSelf(JSTracer* trc) { - if (mTypedObj) { - JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mTypedObj"); - } - if (mWrappedObj) { - JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mWrappedObj"); - } + JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mTypedObj"); + JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mWrappedObj"); } private: TypedArrayObjectStorage(const TypedArrayObjectStorage&) = delete; }; /* * Various typed array classes for argument conversion. We have a base class
--- a/dom/plugins/base/nsJSNPRuntime.cpp +++ b/dom/plugins/base/nsJSNPRuntime.cpp @@ -283,17 +283,17 @@ TraceJSObjWrappers(JSTracer *trc, void * } // Trace all JSObjects in the sJSObjWrappers table and rekey the entries if // any of them moved. for (JSObjWrapperTable::Enum e(sJSObjWrappers); !e.empty(); e.popFront()) { nsJSObjWrapperKey key = e.front().key(); JS::UnsafeTraceRoot(trc, &key.mJSObj, "sJSObjWrappers key object"); nsJSObjWrapper *wrapper = e.front().value(); - JS::TraceNullableEdge(trc, &wrapper->mJSObj, "sJSObjWrappers wrapper object"); + JS::TraceEdge(trc, &wrapper->mJSObj, "sJSObjWrappers wrapper object"); if (key != e.front().key()) { e.rekeyFront(key); } } } static void DelayedReleaseGCCallback(JSGCStatus status) @@ -2261,18 +2261,18 @@ NPObjectMember_Trace(JSTracer *trc, JSOb // Our NPIdentifier is not always interned, so we must trace it. JS::TraceEdge(trc, &memberPrivate->methodName, "NPObjectMemberPrivate.methodName"); JS::TraceEdge(trc, &memberPrivate->fieldValue, "NPObject Member => fieldValue"); // There's no strong reference from our private data to the // NPObject, so make sure to mark the NPObject wrapper to keep the // NPObject alive as long as this NPObjectMember is alive. - JS::TraceNullableEdge(trc, &memberPrivate->npobjWrapper, - "NPObject Member => npobjWrapper"); + JS::TraceEdge(trc, &memberPrivate->npobjWrapper, + "NPObject Member => npobjWrapper"); } static bool NPObjectMember_toPrimitive(JSContext *cx, unsigned argc, JS::Value *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JS::RootedValue thisv(cx, args.thisv()); if (thisv.isPrimitive()) {
--- a/dom/xul/nsXULElement.h +++ b/dom/xul/nsXULElement.h @@ -244,17 +244,17 @@ public: // Calling fromMarkedLocation() is safe because we trace mScriptObject in // TraceScriptObject() and because its value is never changed after it has // been set. return JS::Handle<JSScript*>::fromMarkedLocation(mScriptObject.address()); } void TraceScriptObject(JSTracer* aTrc) { - JS::TraceNullableEdge(aTrc, &mScriptObject, "active window XUL prototype script"); + JS::TraceEdge(aTrc, &mScriptObject, "active window XUL prototype script"); } void Trace(const TraceCallbacks& aCallbacks, void* aClosure) { if (mScriptObject) { aCallbacks.Trace(&mScriptObject, "mScriptObject", aClosure); } }
--- a/js/xpconnect/src/xpcprivate.h +++ b/js/xpconnect/src/xpcprivate.h @@ -2191,17 +2191,17 @@ public: } void TraceSelf(JSTracer* trc) { // If this got called, we're being kept alive by someone who really // needs us alive and whole. Do not let our mFlatJSObject go away. // This is the only time we should be tracing our mFlatJSObject, // normally somebody else is doing that. Be careful not to trace the // bogus INVALID_OBJECT value we can have during init, though. - JS::TraceNullableEdge(trc, &mFlatJSObject, "XPCWrappedNative::mFlatJSObject"); + JS::TraceEdge(trc, &mFlatJSObject, "XPCWrappedNative::mFlatJSObject"); } static void Trace(JSTracer* trc, JSObject* obj); void AutoTrace(JSTracer* trc) { TraceSelf(trc); }
--- a/xpcom/base/CycleCollectedJSRuntime.cpp +++ b/xpcom/base/CycleCollectedJSRuntime.cpp @@ -796,17 +796,17 @@ struct JsGcTracer : public TraceCallback virtual void Trace(JSObject** aPtr, const char* aName, void* aClosure) const override { js::UnsafeTraceManuallyBarrieredEdge(static_cast<JSTracer*>(aClosure), aPtr, aName); } virtual void Trace(JS::TenuredHeap<JSObject*>* aPtr, const char* aName, void* aClosure) const override { - JS::TraceNullableEdge(static_cast<JSTracer*>(aClosure), aPtr, aName); + JS::TraceEdge(static_cast<JSTracer*>(aClosure), aPtr, aName); } virtual void Trace(JS::Heap<JSString*>* aPtr, const char* aName, void* aClosure) const override { JS::TraceEdge(static_cast<JSTracer*>(aClosure), aPtr, aName); } virtual void Trace(JS::Heap<JSScript*>* aPtr, const char* aName, void* aClosure) const override