Summary: | make win32 DumpRenderTree run without crashing | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Maciej Stachowiak <mjs> | ||||
Component: | Tools / Tests | Assignee: | Maciej Stachowiak <mjs> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | ||||||
Priority: | P5 | ||||||
Version: | 420+ | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Attachments: |
|
Description
Maciej Stachowiak
2006-02-28 02:52:13 PST
Created attachment 6772 [details]
patch to fix remaining crashes
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
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. |