Merge remote-tracking branch 'upstream/main' into mpokhylets/isolated-deinit

# Conflicts:
#	include/swift/Basic/Features.def
#	lib/SILGen/SILGenDestructor.cpp
#	test/Concurrency/flow_isolation.swift
#	test/abi/macOS/arm64/concurrency.swift
#	test/abi/macOS/x86_64/concurrency.swift
This commit is contained in:
Mykola Pokhylets
2024-07-11 13:11:59 +02:00
1862 changed files with 31814 additions and 15378 deletions

View File

@@ -124,6 +124,12 @@ public:
return Identity;
}
const char* getIdentityDebugName() const {
return isMainExecutor() ? " (MainActorExecutor)"
: isGeneric() ? " (GenericExecutor)"
: "";
}
/// Is this the generic executor reference?
bool isGeneric() const {
return Identity == 0;
@@ -233,6 +239,10 @@ public:
return TaskExecutorRef(identity, wtable);
}
/// If the job is an 'AsyncTask' return its task executor preference,
/// otherwise return 'undefined', meaning "no preference".
static TaskExecutorRef fromTaskExecutorPreference(Job *job);
HeapObject *getIdentity() const {
return Identity;
}
@@ -260,12 +270,6 @@ public:
return reinterpret_cast<const TaskExecutorWitnessTable*>(table);
}
// /// Do we have to do any work to start running as the requested
// /// executor?
// bool mustSwitchToRun(TaskExecutorRef newExecutor) const {
// return Identity != newExecutor.Identity;
// }
/// Get the raw value of the Implementation field, for tracing.
uintptr_t getRawImplementation() const {
return Implementation & WitnessTableMask;