Bug 7511

Summary: make win32 DumpRenderTree run without crashing
Product: WebKit Reporter: Maciej Stachowiak <mjs>
Component: Tools / TestsAssignee: Maciej Stachowiak <mjs>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P5    
Version: 420+   
Hardware: PC   
OS: Windows XP   
Attachments:
Description Flags
patch to fix remaining crashes darin: review+

Description Maciej Stachowiak 2006-02-28 02:52:13 PST
make win32 DumpRenderTree run without crashing
Comment 1 Maciej Stachowiak 2006-02-28 02:56:26 PST
Created attachment 6772 [details]
patch to fix remaining crashes
Comment 2 Darin Adler 2006-02-28 09:35:27 PST
Comment on attachment 6772 [details]
patch to fix remaining crashes

I'd prefer that the macro names like QNAME_DEFAULT_CONSTRUCTOR and DOM_HTMLNAMES_HIDE_GLOBALS match more closely -- either both should use a prefix or neither.

It seems to me that the !AVOID_STATIC_CONSTRUCTORS case is now a bit broken, so I'm not sure why AVOID_STATIC_CONSTRUCTORS still exists. It seems we now have a new technique for avoiding static constructors that is more portable, so we can do it everywhere.

I'm not happy with all the casts to void*, although I suppose they are necessary.

I don't understand why the changes here for static constructors are not also in JavaScriptCore.

Instead of __VA_ARGS__ the DEFINE_GLOBAL macro could be changed to take a parenthesized list of constructor parameters as a single macro argument, and hence work around a problem you were addressing here.

The patch has tabs in it, in the DocumentImpl.cpp part.

r=me
Comment 3 Maciej Stachowiak 2006-02-28 11:37:40 PST
The !AVOID case still generates static constructors, it just does its best to only make ones that won't do anything interesting. I believe it would still result in generating framework init functions.