RESOLVED FIXED 105026
Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class.
https://bugs.webkit.org/show_bug.cgi?id=105026
Summary Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't d...
Ilya Tikhonovsky
Reported 2012-12-14 07:50:44 PST
It is relatively frequent case when we report a pointer to an object of a class and this class does not have reportMemoryUsage method but its parent does. Current implementation does not detect such cases. As a result we count such objects via sizeof and do not call reportMemoryUsage. I found a working solution and need to check it against all the WebKit compilers. http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions
Attachments
Patch (6.43 KB, patch)
2012-12-14 08:00 PST, Ilya Tikhonovsky
yurys: review+
for try-bots. speculative fix for windows (6.43 KB, patch)
2012-12-17 00:08 PST, Ilya Tikhonovsky
no flags
Ilya Tikhonovsky
Comment 1 2012-12-14 08:00:38 PST
Ilya Tikhonovsky
Comment 2 2012-12-14 08:03:06 PST
The coverage increases by ~3% on cnn, nytimes and google.
Build Bot
Comment 3 2012-12-14 09:01:36 PST
Yury Semikhatsky
Comment 4 2012-12-14 22:48:26 PST
Comment on attachment 179485 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=179485&action=review > Source/WTF/wtf/MemoryInstrumentation.h:133 > + struct Base : public Type, public BaseMixin { }; Will it compile if there is no default constructor for Type ?
Ilya Tikhonovsky
Comment 5 2012-12-17 00:08:54 PST
Created attachment 179698 [details] for try-bots. speculative fix for windows
Yury Semikhatsky
Comment 6 2012-12-17 02:03:49 PST
Comment on attachment 179485 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=179485&action=review >> Source/WTF/wtf/MemoryInstrumentation.h:133 >> + struct Base : public Type, public BaseMixin { }; > > Will it compile if there is no default constructor for Type ? Why is it called Base, shouldn't it be Derived instead? > Source/WTF/wtf/MemoryInstrumentation.h:144 > + template <int> template <bool> ?
Ilya Tikhonovsky
Comment 7 2012-12-17 03:30:50 PST
Ilya Tikhonovsky
Comment 8 2012-12-17 03:36:43 PST
Reverted r137892 for reason: it broke compilation on windows Committed r137893: <http://trac.webkit.org/changeset/137893>
Ilya Tikhonovsky
Comment 9 2012-12-17 08:32:26 PST
Note You need to log in before you can comment on or make changes to this bug.