Use &_dispatch_main_q as the identity of the main actor.

I added Builtin.buildMainActorExecutor before, but because I never
implemented it correctly in IRGen, it's not okay to use it on old
versions, so I had to introduce a new feature only for it.

The shim dispatch queue class in the Concurrency runtime is rather
awful, but I couldn't think of a reasonable alternative without
just entirely hard-coding the witness table in the runtime.
It's not ABI, at least.
This commit is contained in:
John McCall
2021-06-17 02:48:51 -04:00
parent 4cc1035ba2
commit ca62a79079
14 changed files with 128 additions and 30 deletions

View File

@@ -2768,6 +2768,10 @@ static bool usesFeatureBuiltinBuildExecutor(Decl *decl) {
return false;
}
static bool usesFeatureBuiltinBuildMainExecutor(Decl *decl) {
return false;
}
static bool usesFeatureBuiltinContinuation(Decl *decl) {
return false;
}