The API is not strong enough. I'd like to modify it. The ideal target at the moment is instrumentation code like this: void Node::visit(MemoryObjectInfo* memoryObjectInfo) const { MemoryClassInfo<Node> info(memoryObjectInfo, this, MemoryInstrumentation::DOM); info.visitBaseClass<ScriptWrappable>(this); info.visitBaseClass<AnotherBaseClass>(this); info.addMember(m_notInstrumentedPointer); // automatically detects poniter/reference info.addMember(m_notInstrumentedObject); // automatically detects poniter/reference info.addInstrumentedMember(m_next); info.addInstrumentedMember(m_previous); info.addHashSet<MemoryInstrumentation::NonClass>(m_aHash); // NonClass value_type (report only size of internal template structures) info.addHashSet<MemoryInstrumentation::NotInstrumentedClass>(m_aHashSet); // not instrumented value_type (use sizeof) info.addHashSet<MemoryInstrumentation::InstrumentedClass>(m_aHashSet); // instrumented value_type (call visit) // the same as for HashSet but for both template arguments info.addHashMap<MemoryInstrumentation::NonClass, MemoryInstrumentation::InstrumentedClass>(m_aHashSet); info.addHashMap<MemoryInstrumentation::ForwardDeclaredClass, MemoryInstrumentation::InstrumentedClass>(m_aHashSet); }
Created attachment 152238 [details] Patch
Comment on attachment 152238 [details] Patch Attachment 152238 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13243063
Comment on attachment 152238 [details] Patch Attachment 152238 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/13236118
Comment on attachment 152238 [details] Patch Attachment 152238 [details] did not pass qt-wk2-ews (qt): Output: http://queues.webkit.org/results/13243066
Comment on attachment 152238 [details] Patch Attachment 152238 [details] did not pass qt-ews (qt): Output: http://queues.webkit.org/results/13230202
Comment on attachment 152238 [details] Patch Attachment 152238 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/13232235
Created attachment 152252 [details] Patch
Comment on attachment 152252 [details] Patch Attachment 152252 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13232244
Comment on attachment 152252 [details] Patch Attachment 152252 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/13237124
Created attachment 152258 [details] Patch
Committed r122580: <http://trac.webkit.org/changeset/122580>
Re-opened since this is blocked by 91261
The patch just needs to be rebaselined and recommitted.
Committed r122713: <http://trac.webkit.org/changeset/122713>