Skip to content

Commit 97c4282

Browse files
authored
Merge pull request #2881 from swiftwasm/main
[pull] swiftwasm from main
2 parents 1b5edc7 + 3b06438 commit 97c4282

File tree

82 files changed

+1007
-637
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1007
-637
lines changed

cmake/caches/Windows-x86_64.cmake

Lines changed: 135 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,132 +1,135 @@
1-
set(LLVM_ENABLE_PROJECTS
2-
clang
3-
clang-tools-extra
4-
lld
5-
lldb
6-
CACHE STRING "")
7-
8-
set(LLVM_EXTERNAL_PROJECTS
9-
cmark
10-
swift
11-
CACHE STRING "")
12-
13-
# NOTE(compnerd) always enable assertions, the toolchain will not provide enough
14-
# context to resolve issues otherwise and may silently generate invalid output.
15-
set(LLVM_ENABLE_ASSERTIONS YES CACHE BOOL "")
16-
17-
set(ENABLE_X86_RELAX_RELOCATIONS YES CACHE BOOL "")
18-
set(LLVM_ENABLE_PYTHON YES CACHE BOOL "")
19-
set(LLVM_TARGETS_TO_BUILD AArch64 ARM WebAssembly X86 CACHE STRING "")
20-
21-
# Disable certain targets to reduce the configure time or to avoid configuration
22-
# differences (and in some cases weird build errors on a complete build).
23-
set(LLVM_APPEND_VC_REV NO CACHE BOOL "")
24-
set(LLVM_BUILD_LLVM_DYLIB NO CACHE BOOL "")
25-
set(LLVM_BUILD_LLVM_C_DYLIB NO CACHE BOOL "")
26-
set(LLVM_ENABLE_LIBEDIT NO CACHE BOOL "")
27-
set(LLVM_ENABLE_LIBXML2 NO CACHE BOOL "")
28-
set(LLVM_ENABLE_OCAMLDOC NO CACHE BOOL "")
29-
set(LLVM_ENABLE_ZLIB NO CACHE BOOL "")
30-
set(LLVM_INCLUDE_BENCHMARKS NO CACHE BOOL "")
31-
set(LLVM_INCLUDE_DOCS NO CACHE BOOL "")
32-
set(LLVM_INCLUDE_EXAMPLES NO CACHE BOOL "")
33-
set(LLVM_INCLUDE_GO_TESTS NO CACHE BOOL "")
34-
set(LLVM_TOOL_GOLD_BUILD NO CACHE BOOL "")
35-
set(LLVM_TOOL_LLVM_SHLIB_BUILD NO CACHE BOOL "")
36-
37-
# Avoid swig dependency for lldb
38-
set(LLDB_ALLOW_STATIC_BINDINGS YES CACHE BOOL "")
39-
set(LLDB_USE_STATIC_BINDINGS YES CACHE BOOL "")
40-
41-
# This requires perl which may not be available on Windows
42-
set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "")
43-
set(SWIFT_BUILD_STATIC_STDLIB NO CACHE BOOL "")
44-
set(SWIFT_BUILD_STATIC_SDK_OVERLAY NO CACHE BOOL "")
45-
46-
set(LLVM_INSTALL_BINUTILS_SYMLINKS YES CACHE BOOL "")
47-
set(LLVM_INSTALL_TOOLCHAIN_ONLY YES CACHE BOOL "")
48-
set(LLVM_TOOLCHAIN_TOOLS
49-
addr2line
50-
ar
51-
c++filt
52-
dsymutil
53-
dwp
54-
# lipo
55-
llvm-ar
56-
llvm-cov
57-
llvm-cvtres
58-
llvm-cxxfilt
59-
llvm-dlltool
60-
llvm-dwarfdump
61-
llvm-dwp
62-
llvm-lib
63-
llvm-lipo
64-
llvm-mt
65-
llvm-mt
66-
llvm-nm
67-
llvm-objcopy
68-
llvm-objdump
69-
llvm-pdbutil
70-
llvm-profdata
71-
llvm-ranlib
72-
llvm-rc
73-
llvm-readelf
74-
llvm-readobj
75-
llvm-size
76-
llvm-strings
77-
llvm-strip
78-
llvm-symbolizer
79-
llvm-undname
80-
nm
81-
objcopy
82-
objdump
83-
ranlib
84-
readelf
85-
size
86-
strings
87-
CACHE STRING "")
88-
89-
set(CLANG_TOOLS
90-
clang
91-
clangd
92-
clang-format
93-
clang-resource-headers
94-
clang-tidy
95-
CACHE STRING "")
96-
97-
set(LLD_TOOLS
98-
lld
99-
CACHE STRING "")
100-
101-
set(LLDB_TOOLS
102-
liblldb
103-
lldb
104-
lldb-argdumper
105-
lldb-python-scripts
106-
lldb-server
107-
lldb-vscode
108-
repl_swift
109-
CACHE STRING "")
110-
111-
set(SWIFT_INSTALL_COMPONENTS
112-
autolink-driver
113-
compiler
114-
clang-builtin-headers
115-
editor-integration
116-
tools
117-
sourcekit-inproc
118-
swift-remote-mirror
119-
swift-remote-mirror-headers
120-
CACHE STRING "")
121-
122-
set(LLVM_DISTRIBUTION_COMPONENTS
123-
IndexStore
124-
libclang
125-
libclang-headers
126-
LTO
127-
${LLVM_TOOLCHAIN_TOOLS}
128-
${CLANG_TOOLS}
129-
${LLD_TOOLS}
130-
${LLDB_TOOLS}
131-
${SWIFT_INSTALL_COMPONENTS}
132-
CACHE STRING "")
1+
set(LLVM_ENABLE_PROJECTS
2+
clang
3+
clang-tools-extra
4+
lld
5+
lldb
6+
CACHE STRING "")
7+
8+
set(LLVM_EXTERNAL_PROJECTS
9+
cmark
10+
swift
11+
CACHE STRING "")
12+
13+
# NOTE(compnerd) always enable assertions, the toolchain will not provide enough
14+
# context to resolve issues otherwise and may silently generate invalid output.
15+
set(LLVM_ENABLE_ASSERTIONS YES CACHE BOOL "")
16+
17+
set(ENABLE_X86_RELAX_RELOCATIONS YES CACHE BOOL "")
18+
set(LLVM_ENABLE_PYTHON YES CACHE BOOL "")
19+
set(LLVM_TARGETS_TO_BUILD AArch64 ARM WebAssembly X86 CACHE STRING "")
20+
21+
# Disable certain targets to reduce the configure time or to avoid configuration
22+
# differences (and in some cases weird build errors on a complete build).
23+
set(LLVM_APPEND_VC_REV NO CACHE BOOL "")
24+
set(LLVM_BUILD_LLVM_DYLIB NO CACHE BOOL "")
25+
set(LLVM_BUILD_LLVM_C_DYLIB NO CACHE BOOL "")
26+
set(LLVM_ENABLE_LIBEDIT NO CACHE BOOL "")
27+
set(LLVM_ENABLE_LIBXML2 NO CACHE BOOL "")
28+
set(LLVM_ENABLE_OCAMLDOC NO CACHE BOOL "")
29+
set(LLVM_ENABLE_ZLIB NO CACHE BOOL "")
30+
set(LLVM_INCLUDE_BENCHMARKS NO CACHE BOOL "")
31+
set(LLVM_INCLUDE_DOCS NO CACHE BOOL "")
32+
set(LLVM_INCLUDE_EXAMPLES NO CACHE BOOL "")
33+
set(LLVM_INCLUDE_GO_TESTS NO CACHE BOOL "")
34+
set(LLVM_TOOL_GOLD_BUILD NO CACHE BOOL "")
35+
set(LLVM_TOOL_LLVM_SHLIB_BUILD NO CACHE BOOL "")
36+
37+
# Avoid swig dependency for lldb
38+
set(LLDB_ALLOW_STATIC_BINDINGS YES CACHE BOOL "")
39+
set(LLDB_USE_STATIC_BINDINGS YES CACHE BOOL "")
40+
41+
# This requires perl which may not be available on Windows
42+
set(SWIFT_INCLUDE_DOCS NO CACHE BOOL "")
43+
set(SWIFT_BUILD_ENABLE_PARSER_LIB YES CACHE BOOL "")
44+
# static linking is not supported on Windows yet
45+
set(SWIFT_BUILD_STATIC_STDLIB NO CACHE BOOL "")
46+
set(SWIFT_BUILD_STATIC_SDK_OVERLAY NO CACHE BOOL "")
47+
48+
set(LLVM_INSTALL_BINUTILS_SYMLINKS YES CACHE BOOL "")
49+
set(LLVM_INSTALL_TOOLCHAIN_ONLY YES CACHE BOOL "")
50+
set(LLVM_TOOLCHAIN_TOOLS
51+
addr2line
52+
ar
53+
c++filt
54+
dsymutil
55+
dwp
56+
# lipo
57+
llvm-ar
58+
llvm-cov
59+
llvm-cvtres
60+
llvm-cxxfilt
61+
llvm-dlltool
62+
llvm-dwarfdump
63+
llvm-dwp
64+
llvm-lib
65+
llvm-lipo
66+
llvm-mt
67+
llvm-mt
68+
llvm-nm
69+
llvm-objcopy
70+
llvm-objdump
71+
llvm-pdbutil
72+
llvm-profdata
73+
llvm-ranlib
74+
llvm-rc
75+
llvm-readelf
76+
llvm-readobj
77+
llvm-size
78+
llvm-strings
79+
llvm-strip
80+
llvm-symbolizer
81+
llvm-undname
82+
nm
83+
objcopy
84+
objdump
85+
ranlib
86+
readelf
87+
size
88+
strings
89+
CACHE STRING "")
90+
91+
set(CLANG_TOOLS
92+
clang
93+
clangd
94+
clang-format
95+
clang-resource-headers
96+
clang-tidy
97+
CACHE STRING "")
98+
99+
set(LLD_TOOLS
100+
lld
101+
CACHE STRING "")
102+
103+
set(LLDB_TOOLS
104+
liblldb
105+
lldb
106+
lldb-argdumper
107+
lldb-python-scripts
108+
lldb-server
109+
lldb-vscode
110+
repl_swift
111+
CACHE STRING "")
112+
113+
set(SWIFT_INSTALL_COMPONENTS
114+
autolink-driver
115+
compiler
116+
clang-builtin-headers
117+
editor-integration
118+
tools
119+
sourcekit-inproc
120+
swift-remote-mirror
121+
swift-remote-mirror-headers
122+
parser-lib
123+
CACHE STRING "")
124+
125+
set(LLVM_DISTRIBUTION_COMPONENTS
126+
IndexStore
127+
libclang
128+
libclang-headers
129+
LTO
130+
${LLVM_TOOLCHAIN_TOOLS}
131+
${CLANG_TOOLS}
132+
${LLD_TOOLS}
133+
${LLDB_TOOLS}
134+
${SWIFT_INSTALL_COMPONENTS}
135+
CACHE STRING "")

include/swift/ABI/MetadataValues.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ class MethodDescriptorFlags {
317317
KindMask = 0x0F, // 16 kinds should be enough for anybody
318318
IsInstanceMask = 0x10,
319319
IsDynamicMask = 0x20,
320-
IsSignedAsDataMask = 0x40,
320+
IsAsyncMask = 0x40,
321321
ExtraDiscriminatorShift = 16,
322322
ExtraDiscriminatorMask = 0xFFFF0000,
323323
};
@@ -346,12 +346,12 @@ class MethodDescriptorFlags {
346346
return copy;
347347
}
348348

349-
MethodDescriptorFlags withIsSignedAsData(bool isSignedAsData) const {
349+
MethodDescriptorFlags withIsAsync(bool isAsync) const {
350350
auto copy = *this;
351-
if (isSignedAsData)
352-
copy.Value |= IsSignedAsDataMask;
351+
if (isAsync)
352+
copy.Value |= IsAsyncMask;
353353
else
354-
copy.Value &= ~IsSignedAsDataMask;
354+
copy.Value &= ~IsAsyncMask;
355355
return copy;
356356
}
357357

@@ -372,7 +372,7 @@ class MethodDescriptorFlags {
372372
/// Note that 'init' is not considered an instance member.
373373
bool isInstance() const { return Value & IsInstanceMask; }
374374

375-
bool isSignedAsData() const { return Value & IsSignedAsDataMask; }
375+
bool isAsync() const { return Value & IsAsyncMask; }
376376

377377
uint16_t getExtraDiscriminator() const {
378378
return (Value >> ExtraDiscriminatorShift);
@@ -539,7 +539,7 @@ class ProtocolRequirementFlags {
539539
enum : int_type {
540540
KindMask = 0x0F, // 16 kinds should be enough for anybody
541541
IsInstanceMask = 0x10,
542-
IsSignedAsDataMask = 0x20,
542+
IsAsyncMask = 0x20,
543543
ExtraDiscriminatorShift = 16,
544544
ExtraDiscriminatorMask = 0xFFFF0000,
545545
};
@@ -559,12 +559,12 @@ class ProtocolRequirementFlags {
559559
return copy;
560560
}
561561

562-
ProtocolRequirementFlags withIsSignedAsData(bool isSignedAsData) const {
562+
ProtocolRequirementFlags withIsAsync(bool isAsync) const {
563563
auto copy = *this;
564-
if (isSignedAsData)
565-
copy.Value |= IsSignedAsDataMask;
564+
if (isAsync)
565+
copy.Value |= IsAsyncMask;
566566
else
567-
copy.Value &= ~IsSignedAsDataMask;
567+
copy.Value &= ~IsAsyncMask;
568568
return copy;
569569
}
570570

@@ -582,7 +582,7 @@ class ProtocolRequirementFlags {
582582
/// Note that 'init' is not considered an instance member.
583583
bool isInstance() const { return Value & IsInstanceMask; }
584584

585-
bool isSignedAsData() const { return Value & IsSignedAsDataMask; }
585+
bool isAsync() const { return Value & IsAsyncMask; }
586586

587587
bool isSignedWithAddress() const {
588588
return getKind() != Kind::BaseProtocol;

include/swift/AST/ASTTypeIDZone.def

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ SWIFT_TYPEID(GenericSignature)
2626
SWIFT_TYPEID(ImplicitImportList)
2727
SWIFT_TYPEID(ImplicitMemberAction)
2828
SWIFT_TYPEID(ParamSpecifier)
29-
SWIFT_TYPEID(PropertyWrapperBackingPropertyInfo)
29+
SWIFT_TYPEID(PropertyWrapperAuxiliaryVariables)
30+
SWIFT_TYPEID(PropertyWrapperInitializerInfo)
3031
SWIFT_TYPEID(PropertyWrapperTypeInfo)
3132
SWIFT_TYPEID(Requirement)
3233
SWIFT_TYPEID(ResilienceExpansion)

include/swift/AST/ASTTypeIDs.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ enum class ParamSpecifier : uint8_t;
5454
class PostfixOperatorDecl;
5555
class PrecedenceGroupDecl;
5656
class PrefixOperatorDecl;
57-
struct PropertyWrapperBackingPropertyInfo;
57+
struct PropertyWrapperAuxiliaryVariables;
58+
class PropertyWrapperInitializerInfo;
5859
struct PropertyWrapperTypeInfo;
5960
enum class CtorInitializerKind;
6061
struct PropertyWrapperLValueness;

include/swift/AST/Builtins.def

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,13 @@ BUILTIN_MISC_OPERATION(DestroyDefaultActor, "destroyDefaultActor", "", Special)
736736
BUILTIN_MISC_OPERATION(Id, Name, Attrs, Overload)
737737
#endif
738738

739+
// getCurrentExecutor: () async -> Builtin.Word
740+
//
741+
// Retrieve the ExecutorRef on which the current asynchronous
742+
// function is executing.
743+
// Does not retain an actor executor.
744+
BUILTIN_MISC_OPERATION_WITH_SILGEN(GetCurrentExecutor, "getCurrentExecutor", "n", Special)
745+
739746
// getCurrentAsyncTask: () -> Builtin.NativeObject
740747
//
741748
// Retrieve the pointer to the task in which the current asynchronous

0 commit comments

Comments
 (0)