summaryrefslogtreecommitdiff
path: root/js/src/vm/ArrayBufferObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/vm/ArrayBufferObject.h')
-rw-r--r--js/src/vm/ArrayBufferObject.h17
1 files changed, 4 insertions, 13 deletions
diff --git a/js/src/vm/ArrayBufferObject.h b/js/src/vm/ArrayBufferObject.h
index e6dbd3096..87dce34ba 100644
--- a/js/src/vm/ArrayBufferObject.h
+++ b/js/src/vm/ArrayBufferObject.h
@@ -541,7 +541,6 @@ class InnerViewTable
typedef Vector<ArrayBufferViewObject*, 1, SystemAllocPolicy> ViewVector;
friend class ArrayBufferObject;
- friend class WeakCacheBase<InnerViewTable>;
private:
struct MapGCPolicy {
@@ -602,23 +601,15 @@ class InnerViewTable
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf);
};
-template <>
-class WeakCacheBase<InnerViewTable>
+template <typename Wrapper>
+class MutableWrappedPtrOperations<InnerViewTable, Wrapper>
+ : public WrappedPtrOperations<InnerViewTable, Wrapper>
{
InnerViewTable& table() {
- return static_cast<JS::WeakCache<InnerViewTable>*>(this)->get();
- }
- const InnerViewTable& table() const {
- return static_cast<const JS::WeakCache<InnerViewTable>*>(this)->get();
+ return static_cast<Wrapper*>(this)->get();
}
public:
- InnerViewTable::ViewVector* maybeViewsUnbarriered(ArrayBufferObject* obj) {
- return table().maybeViewsUnbarriered(obj);
- }
- void removeViews(ArrayBufferObject* obj) { table().removeViews(obj); }
- void sweepAfterMinorGC() { table().sweepAfterMinorGC(); }
- bool needsSweepAfterMinorGC() const { return table().needsSweepAfterMinorGC(); }
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) {
return table().sizeOfExcludingThis(mallocSizeOf);
}