mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Bug 1569608 - Fix rooting hazard when initialising realm instrumentation objects r=sfink?
Depends on D39496 Differential Revision: https://phabricator.services.mozilla.com/D39728 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
2b37722eaa
commit
310e5172b7
@ -136,8 +136,9 @@ bool RealmInstrumentation::install(JSContext* cx, Handle<GlobalObject*> global,
|
||||
kinds |= (uint32_t) kind;
|
||||
}
|
||||
|
||||
UniquePtr<RealmInstrumentation> instrumentation =
|
||||
MakeUnique<RealmInstrumentation>(cx->zone(), callback, dbgObject, kinds);
|
||||
Rooted<UniquePtr<RealmInstrumentation>> instrumentation(
|
||||
cx,
|
||||
MakeUnique<RealmInstrumentation>(cx->zone(), callback, dbgObject, kinds));
|
||||
if (!instrumentation) {
|
||||
ReportOutOfMemory(cx);
|
||||
return false;
|
||||
|
@ -53,9 +53,6 @@ class RealmInstrumentation {
|
||||
// int32_t so it can be directly accessed from JIT code.
|
||||
int32_t active = 0;
|
||||
|
||||
void trace(JSTracer* trc);
|
||||
friend struct GCManagedDeletePolicy<RealmInstrumentation>;
|
||||
|
||||
public:
|
||||
static bool install(JSContext* cx, Handle<GlobalObject*> global,
|
||||
HandleObject callback,
|
||||
@ -85,6 +82,8 @@ class RealmInstrumentation {
|
||||
RealmInstrumentation(Zone* zone, JSObject* callback, JSObject* dbgObject,
|
||||
uint32_t kinds);
|
||||
|
||||
void trace(JSTracer* trc);
|
||||
|
||||
static void holderFinalize(FreeOp* fop, JSObject* obj);
|
||||
static void holderTrace(JSTracer* trc, JSObject* obj);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user