Bug 31383

Summary: [V8] De-inline lots of V8Bindings functions to save 450k of code
Product: WebKit Reporter: Jens Alfke <jens>
Component: WebCore Misc.Assignee: Jens Alfke <jens>
Status: RESOLVED FIXED    
Severity: Enhancement    
Priority: P3    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 31217    
Attachments:
Description Flags
patch dglazkov: review+

Description Jens Alfke 2009-11-11 15:43:22 PST
De-inlining a bunch of V8Bindings' utility functions that are used ubiquitously by the generated V8 bindings, saves about 450k of code.
For the most part these simply had their bodies moved intact from the .h to the .cpp file, but I added a few small speed optimizations after looking at Shark profile data, e.g. in v8ExternalString.

This includes:
v8DOMWrapperToNative
v8ValueToWebCoreString
v8ValueToAtomicWebCoreString
toInt32
toWebCoreString
toWebCoreStringWithNullCheck
toAtomicWebCoreStringWithNullCheck
toWebCoreStringWithNullOrUndefinedCheck
isUndefinedOrNull
v8Boolean
v8UndetectableString
v8StringOrNull
v8StringOrUndefined
v8StringOrFalse
v8StringToWebCoreString
v8ExternalString

And a new function:
createRawTemplate
Comment 1 Jens Alfke 2009-11-11 16:03:04 PST
Created attachment 43017 [details]
patch
Comment 2 Jens Alfke 2009-11-11 16:11:38 PST
Committed revision 50846.