-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[IRGen] Added function pointer to direct async FunctionPointer instances. #36764
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
[IRGen] Added function pointer to direct async FunctionPointer instances. #36764
Conversation
@swift-ci please test |
c194703
to
cf29a54
Compare
@swift-ci please test |
@swift-ci please test windows platform |
1 similar comment
@swift-ci please test windows platform |
Build failed |
@swift-ci please test macos platform |
@swift-ci please test windows platform |
Build failed |
@swift-ci please test windows platform |
@swift-ci please clean test macos platform |
Build failed |
Build failed |
@swift-ci please test linux platform |
@swift-ci please test macos platform |
Build failed |
@swift-ci please clean test macos platform |
Build failed |
@swift-ci please clean test linux platform |
Build failed |
@swift-ci please clean test macos platform |
@swift-ci please clean test windows platform |
Build failed |
@swift-ci please clean test linux platform |
Build failed |
@swift-ci please clean test linux platform |
Build failed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@swift-ci please clean test linux platform |
@swift-ci please test windows platform |
@swift-ci please clean test windows platform |
Build failed |
The address of the function to be called when generating code to invoke the function associated with FunctionPointer which is produced via direct reference is by definition statically known; it is neither necessary nor desireable to load this address out of the AsyncFunctionPointer corresponding to the function. Here, that spurious additional work is skipped. The approach is to add a second value to the FunctionPointer struct. For FunctionPointers whose kind is AsyncFunctionPointer, this value is either null or else the address of the corresponding function. rdar://71376092
cf29a54
to
4d56b62
Compare
@swift-ci please test and merge |
@swift-ci please test windows |
@swift-ci please test macos platform |
The address of the function to be called when generating code to invoke the function associated with FunctionPointer which is produced via direct reference is by definition statically known; it is neither necessary nor desireable to load this address out of the AsyncFunctionPointer corresponding to the function.
Here, that spurious additional work is skipped. The approach is to add a second value to the FunctionPointer struct. For FunctionPointers whose kind is AsyncFunctionPointer, this value is either null or else the address of the corresponding function.
rdar://71376092