-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Implement value witness table for @differentiable functions #60875
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
Conversation
@swift-ci Please test |
Tagging @BradLarson |
@swift-ci Please test macOS platform |
@dan-zheng @rxwei I checked locally and for me all disabled parts with |
Checking the blame: #35384
Since Windows tests pass, removing |
Right. I need to include the last disabled test then. And likely re-run everything on CI. I was a bit surprised to see that value witness table was missed :) |
@differentiable function is actually a triple (function, jvp, vjp). Previously normal thick function value witness table was used. As a result, for example, only function was copied, but none of differential components. This was the cause of uninitialized memory accesses and subsequent segfaults. Should fix now unavailable TF-1122
@swift-ci Please test |
@AnthonyLatsis I believe some tests still fail. But I reenabled ones that were fixed |
@asl At the very least there aren't any more references to this issue in the codebase. |
@differentiable function is actually a triple (function, jvp, vjp). Previously normal thick function value witness table was used. As a result, for example, only function was copied, but none of differential components.
This was the cause of uninitialized memory accesses and subsequent segfaults.
Should fix (now unavailable) TF-1122