Bug 650161 - Add moving GC callback and use it to fix up ipc CPOW tables r=terrence
This commit is contained in:
@@ -27,6 +27,12 @@ TraceParent(JSTracer *trc, void *data)
|
||||
static_cast<JavaScriptParent *>(data)->trace(trc);
|
||||
}
|
||||
|
||||
static void
|
||||
FixupParentAfterMovingGC(JSRuntime *rt, void *data)
|
||||
{
|
||||
static_cast<JavaScriptParent *>(data)->fixupAfterMovingGC();
|
||||
}
|
||||
|
||||
JavaScriptParent::JavaScriptParent(JSRuntime *rt)
|
||||
: JavaScriptShared(rt),
|
||||
JavaScriptBase<PJavaScriptParent>(rt)
|
||||
@@ -36,6 +42,7 @@ JavaScriptParent::JavaScriptParent(JSRuntime *rt)
|
||||
JavaScriptParent::~JavaScriptParent()
|
||||
{
|
||||
JS_RemoveExtraGCRootsTracer(rt_, TraceParent, this);
|
||||
JS_RemoveMovingGCCallback(rt_, FixupParentAfterMovingGC);
|
||||
}
|
||||
|
||||
bool
|
||||
@@ -45,6 +52,7 @@ JavaScriptParent::init()
|
||||
return false;
|
||||
|
||||
JS_AddExtraGCRootsTracer(rt_, TraceParent, this);
|
||||
JS_AddMovingGCCallback(rt_, FixupParentAfterMovingGC, this);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user