RESOLVED FIXED 25210
don't use ObjC methods to wrap/unwrap DOM objects with ObjC
https://bugs.webkit.org/show_bug.cgi?id=25210
Summary don't use ObjC methods to wrap/unwrap DOM objects with ObjC
Darin Adler
Reported 2009-04-15 09:57:30 PDT
ObjC methods have considerable cost both at load and runtime (long method names due to long C++ argument types). We can wrap and unwrap with functions instead.
Attachments
some work in progress (3.05 KB, patch)
2009-04-15 09:59 PDT, Darin Adler
no flags
more work in progress (162.16 KB, patch)
2009-04-16 17:43 PDT, Darin Adler
no flags
patch (166.95 KB, patch)
2009-04-17 06:00 PDT, Darin Adler
no flags
patch with path in Xcode project file fixed (166.91 KB, patch)
2009-04-17 10:11 PDT, Darin Adler
koivisto: review+
Darin Adler
Comment 1 2009-04-15 09:59:33 PDT
Created attachment 29501 [details] some work in progress
Darin Adler
Comment 2 2009-04-16 17:43:01 PDT
Created attachment 29565 [details] more work in progress
Darin Adler
Comment 3 2009-04-17 06:00:28 PDT
Greg Bolsinga
Comment 4 2009-04-17 09:03:32 PDT
Cool. What does size -m say for the WebCore and WebKit binary's cstring section before and after this change?
Darin Adler
Comment 5 2009-04-17 10:05:11 PDT
(In reply to comment #4) > Cool. What does size -m say for the WebCore and WebKit binary's cstring section > before and after this change? WebCore’s cstring section got 77% smaller. Down from 753,076 bytes to 176,328 bytes. WebKit’s cstring section stayed essentially the same size (down by about 0.14%). I assume that more work on bug 25266 would address the problem further and make the cstring sections even smaller.
Darin Adler
Comment 6 2009-04-17 10:11:57 PDT
Created attachment 29582 [details] patch with path in Xcode project file fixed
Greg Bolsinga
Comment 7 2009-04-17 10:19:49 PDT
This is very good news! Thanks!
Antti Koivisto
Comment 8 2009-04-17 10:36:01 PDT
Comment on attachment 29582 [details] patch with path in Xcode project file fixed r=me, nice!
Darin Adler
Comment 9 2009-04-17 12:23:12 PDT
Note You need to log in before you can comment on or make changes to this bug.