Skip to content

[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 25 commits into from
Sep 4, 2021
Merged

[pull] swiftwasm from main #3464

merged 25 commits into from
Sep 4, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 3, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

LucianoPAlmeida and others added 21 commits August 27, 2021 09:21
And restructure the "Debug Information" section to make it flow better.
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.
[Concurrency] Propagate Darwin vouchers across async tasks.
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
…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
nkcsgexi and others added 4 commits September 3, 2021 16:45
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 kateinoigakukun merged commit fa52ea4 into swiftwasm Sep 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants