diff options
Diffstat (limited to 'js/src/gc/MaybeRooted.h')
-rw-r--r-- | js/src/gc/MaybeRooted.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/js/src/gc/MaybeRooted.h b/js/src/gc/MaybeRooted.h index fbeb0c553c..6b38172472 100644 --- a/js/src/gc/MaybeRooted.h +++ b/js/src/gc/MaybeRooted.h @@ -35,7 +35,7 @@ class MOZ_RAII FakeRooted : public RootedOperations<T, FakeRooted<T>> { explicit FakeRooted(JSContext* cx) : ptr(JS::SafelyInitialized<T>::create()) {} - FakeRooted(JSContext* cx, T initial) : ptr(initial) {} + FakeRooted(JSContext* cx, const T& initial) : ptr(initial) {} FakeRooted(const FakeRooted&) = delete; @@ -44,6 +44,8 @@ class MOZ_RAII FakeRooted : public RootedOperations<T, FakeRooted<T>> { DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr); DECLARE_NONPOINTER_MUTABLE_ACCESSOR_METHODS(ptr); + operator JS::Handle<T>() { return JS::Handle<T>::fromMarkedLocation(&ptr); } + private: T ptr; |