Bug 1323207, part 1 - Add method to check AllocGCBarriers. r=jonco
MozReview-Commit-ID: LwAAZWBC1jj
--- a/js/src/jsfriendapi.cpp
+++ b/js/src/jsfriendapi.cpp
@@ -1413,8 +1413,14 @@ js::IsWindowProxy(JSObject* obj)
return obj->getClass() == obj->runtimeFromAnyThread()->maybeWindowProxyClass();
}
JS_FRIEND_API(bool)
js::detail::IsWindowSlow(JSObject* obj)
{
return obj->as<GlobalObject>().maybeWindowProxy();
}
+
+JS_FRIEND_API(bool)
+js::AllowGCBarriers(JSContext* cx)
+{
+ return cx->allowGCBarriers();
+}
--- a/js/src/jsfriendapi.h
+++ b/js/src/jsfriendapi.h
@@ -2899,16 +2899,19 @@ ToWindowProxyIfWindow(JSObject* obj);
/**
* If `obj` is a WindowProxy, get its associated Window (the compartment's
* global), else return `obj`. This function is infallible and never returns
* nullptr.
*/
extern JS_FRIEND_API(JSObject*)
ToWindowIfWindowProxy(JSObject* obj);
+JS_FRIEND_API(bool)
+AllowGCBarriers(JSContext* cx);
+
} /* namespace js */
class NativeProfiler
{
public:
virtual ~NativeProfiler() {};
virtual void sampleNative(void* addr, uint32_t size) = 0;
virtual void removeNative(void* addr) = 0;