Hi, Webkittens, I would like to make sure OR declare that WebKit does not support Windows fibers. While fiber related functions are used in WTF, I believe that it is because fiber local storage (FLS) can have destructors. And it is not intended to support fibers explicitly.
Actually, I believe the current WebKit does not work well with Windows fibers right now. For example, our JSC GC is conservative for stack and registers. It means that GC needs to scan stack and registers to gather conservative roots. But if your fiber is not executed at that time, JSC GC will miss to scan the stack and registers of those inactive fibers. As a result, managed objects will be collected if it is only referenced from the roots in the inactive fibers. And I think we can potentially improve performance of our TLS by using thread_local implementation in VC++ instead of using FLS. FLS is slow and it causes some problems[1]. I'm not sure the performance characteristics and implementation details of thread_local in VC++, but it's worth checking. So, I think we should not support Windows fibers. I would like to hear opinions about it. [1]: https://bugs.webkit.org/show_bug.cgi?id=146448 Best regards, Yusuke Suzuki
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev