summaryrefslogtreecommitdiffstats
path: root/js/src/gc/Barrier.cpp
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 /js/src/gc/Barrier.cpp
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 'js/src/gc/Barrier.cpp')
-rw-r--r--js/src/gc/Barrier.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/js/src/gc/Barrier.cpp b/js/src/gc/Barrier.cpp
index f19f6f046..6dab8d25b 100644
--- a/js/src/gc/Barrier.cpp
+++ b/js/src/gc/Barrier.cpp
@@ -56,7 +56,7 @@ HeapSlot::preconditionForWriteBarrierPost(NativeObject* obj, Kind kind, uint32_t
bool isCorrectSlot = kind == Slot
? obj->getSlotAddressUnchecked(slot)->get() == target
: static_cast<HeapSlot*>(obj->getDenseElements() + slot)->get() == target;
- bool isBlackToGray = target.isMarkable() &&
+ bool isBlackToGray = target.isGCThing() &&
IsMarkedBlack(obj) && JS::GCThingIsMarkedGray(JS::GCCellPtr(target));
return isCorrectSlot && !isBlackToGray;
}