forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
[pull] swiftwasm from main #3464
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
And restructure the "Debug Information" section to make it flow better.
…to method named "self" can be used without qualification) https://bugs.swift.org/browse/SR-4559
…n be used without qualification) https://bugs.swift.org/browse/SR-4559
Darwin OSes support vouchers, which are key/value sets that can be adopted on a thread to influence its execution, or sent to another process. APIs like Dispatch propagate vouchers to worker threads when running async code. This change makes Swift Concurrency do the same. The change consists of a few different parts: 1. A set of shims (in VoucherShims.h) which provides declarations for the necessary calls when they're not available from the SDK, and stub implementations for non-Darwin platforms. 2. One of Job's reserved fields is now used to store the voucher associated with a job. 3. Jobs grab the current thread's voucher when they're created. 4. A VoucherManager class manages adoption of vouchers when running a Job, and replacing vouchers in suspended tasks. 5. A VoucherManager instance is maintained in ExecutionTrackingInfo, and is updated as necessary throughout a Job/Task's lifecycle. rdar://76080222
Otherwise, these tests fail when one runs these tests against a just built toolchain but have not yet installed a stage2 stdlib.
If resolving an overlap produces a pair where both sides are equal, we don't have to reduce both sides before throwing it out.
The left and right hand side of a merged associated type candidate rule have a common prefix except for the associated type symbol at the end. Instead of passing two MutableTerms, we can pass a single uniqued Term and a Symbol. Also, we can compute the merged symbol before pushing the candidate onto the vector. This avoids unnecessary work if the merged symbol is equal to the right hand side's symbol.
If you have a class with an (invalid) protocol nested inside: class OuterGenericClass<T, U> { protocol InnerProtocol : OuterGenericClass {} } The reference to 'OuterGenericClass' in the protocol's inheritance clause is not "in context", and should not have inferred generic arguments <T, U>, because the protocol does not inherit the generic arguments of the outer scope. Previously, this would trigger an assertion in the requirement machine, because the generic parameter τ_0_1 is not a valid generic parameter in the protocol's generic signature.
Miscellaneous RequirementMachine fixes
[Concurrency] Propagate Darwin vouchers across async tasks.
…opt from the SDK.
If anyone else is building Windows ARM64 they should be using a new enough Visual Studio. This workaround is more difficult to keep working properly and the CI hosts should have a new enough Visual Studio installation hopefully in order to enable the ARM64 builds of the runtime. If they do not, we can re-evaluate whether to re-instate the workaround. This allows building part of the runtime with Visual Studio 2022 and reduces the maintenance overheads for the runtime.
…b96aa08a4c051f8771d50e7 [test] When using swift-ide-test specify a resource dir.
…-update [doc] Update SIL.rst to reflect debug_value_addr deprecation
rdar://82734785
…251d0b99f2066d563a71e42 Disable test while MikeA fixes it to unblock the builds.
[Concurrency] Add availability checking when calling voucher_needs_adopt from the SDK.
[SR-4559] Warn when unapplied reference to a function 'self' is referenced in property initialiser
All enum elments should have been handled separately so we don't need to anything special for EnumCaseDecl except consuming them.
runtime: remove workaround for Windows ARM64
[NFC] Remove old comment related to port diagnostics to new framework
ABIChecker: don't fail when hitting EnumCaseDecl
kateinoigakukun
approved these changes
Sep 4, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )