Bug 7511 - make win32 DumpRenderTree run without crashing
Summary: make win32 DumpRenderTree run without crashing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 420+
Hardware: PC Windows XP
: P5 Normal
Assignee: Maciej Stachowiak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-28 02:52 PST by Maciej Stachowiak
Modified: 2006-02-28 22:23 PST (History)
0 users

See Also:


Attachments
patch to fix remaining crashes (18.42 KB, patch)
2006-02-28 02:56 PST, Maciej Stachowiak
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.