summaryrefslogtreecommitdiffstats
path: root/xpcom
diff options
context:
space:
mode:
authorMoonchild <mcwerewolf@gmail.com>2018-04-08 18:16:01 +0200
committerGitHub <noreply@github.com>2018-04-08 18:16:01 +0200
commit6ac47e95318efb654682ed774fbbde1eb0fa2dd3 (patch)
tree05e3594dc85fd66d29d122184157901fe7e51837 /xpcom
parentbf6bb142fc5bcb49b053788e06160af304f639e5 (diff)
parentbbd4001cb261cc54e2adf804ea7cbeb09078d7d9 (diff)
downloadUXP-6ac47e95318efb654682ed774fbbde1eb0fa2dd3.tar
UXP-6ac47e95318efb654682ed774fbbde1eb0fa2dd3.tar.gz
UXP-6ac47e95318efb654682ed774fbbde1eb0fa2dd3.tar.lz
UXP-6ac47e95318efb654682ed774fbbde1eb0fa2dd3.tar.xz
UXP-6ac47e95318efb654682ed774fbbde1eb0fa2dd3.zip
Merge pull request #94 from trav90/js-work
Fix Value::isGCThing footgun, stop returning true for NullValue
Diffstat (limited to 'xpcom')
-rw-r--r--xpcom/base/nsCycleCollector.cpp2
-rw-r--r--xpcom/base/nsCycleCollectorTraceJSHelpers.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/xpcom/base/nsCycleCollector.cpp b/xpcom/base/nsCycleCollector.cpp
index ca7057628..d867f596e 100644
--- a/xpcom/base/nsCycleCollector.cpp
+++ b/xpcom/base/nsCycleCollector.cpp
@@ -2690,7 +2690,7 @@ public:
void* aClosure) const override
{
const JS::Value& val = aValue->unbarrieredGet();
- if (val.isMarkable() && ValueIsGrayCCThing(val)) {
+ if (val.isGCThing() && ValueIsGrayCCThing(val)) {
MOZ_ASSERT(!js::gc::IsInsideNursery(val.toGCThing()));
mCollector->GetJSPurpleBuffer()->mValues.InfallibleAppend(val);
}
diff --git a/xpcom/base/nsCycleCollectorTraceJSHelpers.cpp b/xpcom/base/nsCycleCollectorTraceJSHelpers.cpp
index eb06a389c..7c48002e3 100644
--- a/xpcom/base/nsCycleCollectorTraceJSHelpers.cpp
+++ b/xpcom/base/nsCycleCollectorTraceJSHelpers.cpp
@@ -36,7 +36,7 @@ void
TraceCallbackFunc::Trace(JS::Heap<JS::Value>* aPtr, const char* aName,
void* aClosure) const
{
- if (aPtr->unbarrieredGet().isMarkable()) {
+ if (aPtr->unbarrieredGet().isGCThing()) {
mCallback(JS::GCCellPtr(aPtr->unbarrieredGet()), aName, aClosure);
}
}