[webkit-dev] A catalog of iOS-specific changes related to the WebThread

Maciej Stachowiak mjs at apple.com
Sun Feb 10 19:43:46 PST 2013


On Feb 10, 2013, at 5:14 PM, Brent Fulgham <bfulgham at gmail.com> wrote:

> Hi Maciej,
> 
> Thank you for taking the time to clearly enumerate these different tasks. It must have been a tedious effort, but I think the list is quite helpful in understanding the changes you are proposing.
> 
> 1. The WTF changes seem like they could be easily protected by preprocessor macros to not impact other ports.
> 2. The WebCore ThreadGlobalData change sounds like it could be easily isolated at compile time to the iOS port.
> 3. Most of the WebCore changes involved CFNetwork/CALayer logic, neither of which (I believe) is used by the Chromium port.

To clarify, essentially all of the changes are already in ifdefs in our downstream tree, and will remain so. There is no compile time impact on other ports. The main worry is that supporting this weird threading model could be a maintainability headache for the cross-platform code. The reality is that it will be some headache, but hopefully not too much.

> 
> It sounds like the port most likely to be impacted by these changes would be Apple's own Mac port.
> 
> Reading this list, I'm also curious why we would ever want to call "pthread_main_np", given the existence of isMainThread.  If we were consistent about this, the iOS "one of two 'main' threads" stuff would be safely encapsulated.
> 
> I like the idea of getting rid of the explicit "m_thread == currentThread()" asserts, in favor of some form of encapsulated predicate.

Yeah, I think the above two categories of changes can be fixed before merging and won't result in any diffs, ultimately.

> 
> All in all, I think these changes seem unlikely to be harmful, and will probably prompt some useful refactoring to clean a few things up.

Thanks for reviewing the list.

Cheers,
Maciej


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20130210/ed401a82/attachment.html>


More information about the webkit-dev mailing list