[jsdbg2] Move Debugger vector from GlobalObject to Realm
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: jimb, Assigned: loganfsmyth)
References
(Blocks 1 open bug)
Details
(Whiteboard: [debugger-mvp])
Attachments
(2 files)
Until the auditor architecture is implemented, a debuggee global's vector of Debugger
s should be stored on the debuggee's JS::Realm
structure, not as a GlobalDebuggees
object pointed to by a slot on the global.
Since there are many subclasses of GlobalObject
, each with their own JS::Class
and hence their own finalize
hook, there's no convenient place to put the cleanup of the DebuggerVector
; hence the GlobalDebuggerVectorHolder
object, with its custom finalizer. But this predates the existence of the JS::Realm
type; now it would make more sense to let the Realm
own the DebuggerVector
, and let its destructor delete it naturally.
GlobalDebuggerVectorHolder's JSClass: https://searchfox.org/mozilla-central/source/js/src/debugger/Debugger.cpp#539
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
The DebuggerVector has been associated with the GlobalObject via a private slot
referencing a wrapper JS object (DebugggerVectorHolder). Moving this data into
the JS::Realm instance removes complexity and avoids needing the holder.
Assignee | ||
Comment 2•5 years ago
|
||
Updated•5 years ago
|
Pushed by loganfsmyth@gmail.com: https://hg.mozilla.org/integration/autoland/rev/1d502a261370 Part 1: Clean up unused type declaration on Zone. r=jimb https://hg.mozilla.org/integration/autoland/rev/096bd2773fc1 Part 2: Move the DebuggerVector from GlobalObject to the Realm. r=jimb
Comment 4•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1d502a261370
https://hg.mozilla.org/mozilla-central/rev/096bd2773fc1
Description
•