Value::isGCThing now does what you'd expect
Jan de Mooij <[email protected]> Tue, 27 Dec 2016 10:12:52 +0100
| Newsgroups | gmane.comp.mozilla.devel.jseng,gmane.comp.mozilla.devel.jseng.internals |
|---|---|
| Message-ID | <CABTC+Jdk0OkEXVdxPb4ULn11xNejf-HtCn98tAN18_O8KyexRQ@mail.gmail.com> |
Hey all, I landed a JS::Value change that might affect some embedders. JS::Value used to have the following methods: * isMarkable(): returned true iff the Value was a GC thing (object, string, symbol, private GC thing). * isGCThing(): returned true if isMarkable() *or NullValue*. Unsurprisingly, most callers of isGCThing actually wanted isMarkable (we had some DOM code for instance where we took a slower path if isGCThing() returned true). Bug 1325075 [0] (in Firefox/SpiderMonkey 53) fixed this footgun. Now there's just isGCThing and it returns true iff the Value is a GC thing. The isMarkable and toMarkablePointer methods are gone. Thanks, Jan [0] https://bugzilla.mozilla.org/show_bug.cgi?id=1325075