Bug 25210

Summary: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
Product: WebKit Reporter: Darin Adler <darin>
Component: WebKit APIAssignee: Darin Adler <darin>
Status: RESOLVED FIXED    
Severity: Normal CC: aroben, bolsinga, ddkilzer, laszlo.gombos, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 25266    
Attachments:
Description Flags
some work in progress
none
more work in progress
none
patch
none
patch with path in Xcode project file fixed koivisto: review+

Description Darin Adler 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.
Comment 1 Darin Adler 2009-04-15 09:59:33 PDT
Created attachment 29501 [details]
some work in progress
Comment 2 Darin Adler 2009-04-16 17:43:01 PDT
Created attachment 29565 [details]
more work in progress
Comment 3 Darin Adler 2009-04-17 06:00:28 PDT
Created attachment 29574 [details]
patch
Comment 4 Greg Bolsinga 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?
Comment 5 Darin Adler 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.
Comment 6 Darin Adler 2009-04-17 10:11:57 PDT
Created attachment 29582 [details]
patch with path in Xcode project file fixed
Comment 7 Greg Bolsinga 2009-04-17 10:19:49 PDT
This is very good news! Thanks!
Comment 8 Antti Koivisto 2009-04-17 10:36:01 PDT
Comment on attachment 29582 [details]
patch with path in Xcode project file fixed

r=me, nice!
Comment 9 Darin Adler 2009-04-17 12:23:12 PDT
http://trac.webkit.org/changeset/42618