Patch forthcoming.
Created attachment 29590 [details] patch v1
Comment on attachment 29590 [details] patch v1 Looks good. > + http://codereview.chromium.org/67141 Don't need Chromium review in ChangeLog, probably. Just mention it on bug.
Comment on attachment 29590 [details] patch v1 WebKit uses DEFINE_STATIC_LOCAL for local statics. The Mac build will have trouble if we don't here too. // Use these to declare and define a static local variable (static T;) so that // it is leaked so that its destructors are not called at exit. Using this // macro also allows workarounds a compiler bug present in Apple's version of GCC 4.0.1. #if COMPILER(GCC) && defined(__APPLE_CC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 1 #define DEFINE_STATIC_LOCAL(type, name, arguments) \ static type* name##Ptr = new type arguments; \ type& name = *name##Ptr #else #define DEFINE_STATIC_LOCAL(type, name, arguments) \ static type& name = *new type arguments #endif
cc-ing Dimitri so he can see my comments.
Created attachment 29896 [details] patch v2 Switched to using DEFINE_STATIC_LOCAL. Thanks for catching this Eric!
Comment on attachment 29896 [details] patch v2 Looks fine. Will land.
Do we have any performance tests which show that this is actually faster? I'm going to land it as-is... but it seems this sort of change should have some perf-data associated with it.
Committing to http://svn.webkit.org/repository/webkit/trunk ... M WebCore/ChangeLog M WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp M WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp Committed r43022
Whoops. Last patch actually introduced variable redefinition. Fixing...
Fix landed in http://trac.webkit.org/changeset/43066.