-
Notifications
You must be signed in to change notification settings - Fork 30
Investigate if supporting BlocksRuntime is viable #658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The main culprit right now seems to be the Foundation actually contains some stubs for libdispatch, but a lot of the APIs are block-heavy. Clang automatically adds a symbol reference to
|
@MaxDesiatov Thanks for great investigation! |
I wasn't able to find a definition of Maybe the one from compiler-rt is what we could use, but again, the amount of ifdefs needed in CoreFoundation and Foundation to succesfully compile is staggering. I personally am abandoning my attempts to make Foundation work, I don't think that demand for I think even when we have properly working DCE and LTO, the code size of Foundation and CoreFoundation will still be significant enough in our constrained browser environment, so stuff like The only reason why I wanted to make Foundation work is XCTest, but after having another look at it its use of Foundation seems to be very limited, so I'm currently trying to ifdef that out. |
I‘m 99% sure that part of the Windows port is wrong; @compnerd does this symbol ever resolve to anything on windows? |
My current conclusion is that Windows uses the implementation from |
The blocks runtime in foundation is unused everywhere, the canonical definition of blocks runtime resides in libdispatch and most definitely is 100% correct (its been tested is extensively on non-trivial programs which are in production). |
This seems to be a requirement for Foundation, related to #592 and #597
The text was updated successfully, but these errors were encountered: