Bug 1311212 - Add dead CPOW debugging facility (r=mrbkap)

This commit is contained in:
Bill McCloskey
2016-10-18 15:58:33 -07:00
parent ee69fe3289
commit 1deceb4b29
13 changed files with 155 additions and 29 deletions

View File

@@ -17,9 +17,11 @@ namespace jsipc {
class JavaScriptChild : public JavaScriptBase<PJavaScriptChild>
{
public:
JavaScriptChild() : strongReferenceObjIdMinimum_(0) {}
virtual ~JavaScriptChild();
bool init();
void trace(JSTracer* trc);
void updateWeakPointers();
void drop(JSObject* obj);
@@ -30,9 +32,16 @@ class JavaScriptChild : public JavaScriptBase<PJavaScriptChild>
virtual bool isParent() override { return false; }
virtual JSObject* scopeForTargetObjects() override;
bool RecvDropTemporaryStrongReferences(const uint64_t& upToObjId) override;
private:
bool fail(JSContext* cx, ReturnStatus* rs);
bool ok(ReturnStatus* rs);
// JavaScriptChild will keep strong references to JS objects that are
// referenced by the parent only if their ID is >=
// strongReferenceObjIdMinimum_.
uint64_t strongReferenceObjIdMinimum_;
};
} // namespace jsipc