зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1567245: Factor out pointer from DebuggerWeakMap Referent type parameter. r=jorendorff
It's more convenient for a DebuggerWeakMap's Wrapper type parameter to be the pointed-to type, not the pointer type, since we'll be consulting its member types. Then, it's a bit more consistent to also use the pointed-to type for Referent. Differential Revision: https://phabricator.services.mozilla.com/D38542 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
6475ea735f
Коммит
2670cfec30
|
@ -262,9 +262,9 @@ extern void CheckDebuggeeThing(JSObject* obj, bool invisibleOk);
|
|||
* it's re-enabled later, new Frame objects are created.)
|
||||
*/
|
||||
template <class Referent, class Wrapper, bool InvisibleKeysOk = false>
|
||||
class DebuggerWeakMap : private WeakMap<HeapPtr<Referent>, HeapPtr<Wrapper*>> {
|
||||
class DebuggerWeakMap : private WeakMap<HeapPtr<Referent*>, HeapPtr<Wrapper*>> {
|
||||
private:
|
||||
typedef HeapPtr<Referent> Key;
|
||||
typedef HeapPtr<Referent*> Key;
|
||||
typedef HeapPtr<Wrapper*> Value;
|
||||
|
||||
typedef HashMap<JS::Zone*, uintptr_t, DefaultHasher<JS::Zone*>,
|
||||
|
@ -632,40 +632,40 @@ class Debugger : private mozilla::LinkedListElement<Debugger> {
|
|||
* An entry in this table exists if and only if the Debugger.Frame's
|
||||
* GENERATOR_INFO_SLOT is set.
|
||||
*/
|
||||
typedef DebuggerWeakMap<JSObject*, DebuggerFrame> GeneratorWeakMap;
|
||||
typedef DebuggerWeakMap<JSObject, DebuggerFrame> GeneratorWeakMap;
|
||||
GeneratorWeakMap generatorFrames;
|
||||
|
||||
/* An ephemeral map from JSScript* to Debugger.Script instances. */
|
||||
typedef DebuggerWeakMap<JSScript*, DebuggerScript> ScriptWeakMap;
|
||||
typedef DebuggerWeakMap<JSScript, DebuggerScript> ScriptWeakMap;
|
||||
ScriptWeakMap scripts;
|
||||
|
||||
using LazyScriptWeakMap = DebuggerWeakMap<LazyScript*, DebuggerScript>;
|
||||
using LazyScriptWeakMap = DebuggerWeakMap<LazyScript, DebuggerScript>;
|
||||
LazyScriptWeakMap lazyScripts;
|
||||
|
||||
using LazyScriptVector = JS::GCVector<LazyScript*>;
|
||||
|
||||
// The map from debuggee source script objects to their Debugger.Source
|
||||
// instances.
|
||||
typedef DebuggerWeakMap<JSObject*, DebuggerSource, true> SourceWeakMap;
|
||||
typedef DebuggerWeakMap<JSObject, DebuggerSource, true> SourceWeakMap;
|
||||
SourceWeakMap sources;
|
||||
|
||||
// The map from debuggee objects to their Debugger.Object instances.
|
||||
typedef DebuggerWeakMap<JSObject*, DebuggerObject> ObjectWeakMap;
|
||||
typedef DebuggerWeakMap<JSObject, DebuggerObject> ObjectWeakMap;
|
||||
ObjectWeakMap objects;
|
||||
|
||||
// The map from debuggee Envs to Debugger.Environment instances.
|
||||
typedef DebuggerWeakMap<JSObject*, DebuggerEnvironment> EnvironmentWeakMap;
|
||||
typedef DebuggerWeakMap<JSObject, DebuggerEnvironment> EnvironmentWeakMap;
|
||||
EnvironmentWeakMap environments;
|
||||
|
||||
// The map from WasmInstanceObjects to synthesized Debugger.Script
|
||||
// instances.
|
||||
typedef DebuggerWeakMap<WasmInstanceObject*, DebuggerScript>
|
||||
typedef DebuggerWeakMap<WasmInstanceObject, DebuggerScript>
|
||||
WasmInstanceScriptWeakMap;
|
||||
WasmInstanceScriptWeakMap wasmInstanceScripts;
|
||||
|
||||
// The map from WasmInstanceObjects to synthesized Debugger.Source
|
||||
// instances.
|
||||
typedef DebuggerWeakMap<WasmInstanceObject*, DebuggerSource>
|
||||
typedef DebuggerWeakMap<WasmInstanceObject, DebuggerSource>
|
||||
WasmInstanceSourceWeakMap;
|
||||
WasmInstanceSourceWeakMap wasmInstanceSources;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче