Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[pull] main from apple:main #5542

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
pull merged 58 commits into swiftwasm:main from swiftlang:main
Jun 23, 2023
Merged
Changes from 1 commit
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
58ad356
Refactored the `Stack.swift` file to make it more readable.
May 26, 2023
41f46ec
[Threading][TSan] Fix TSan errors from lazy init on Linux.
al45tair Jun 16, 2023
ee5efff
[Threading][TSan] Update after review comments.
al45tair Jun 19, 2023
8ed8a28
[Threading][TSan] Move ThreadSanitizer.cpp into the main runtime.
al45tair Jun 19, 2023
bad716f
[Threading][TSan] Rearrange things again.
al45tair Jun 19, 2023
3f0018d
[Threading][TSan] Fix linkage issue.
al45tair Jun 19, 2023
18b359f
[Threading][TSan] Fix builds where TSan isn't supported.
al45tair Jun 20, 2023
e1e933c
[ConstraintLocator] NFC: Add a way to check whether builder is pointi...
xedin Jun 21, 2023
5e30445
[CSSimplify] Add special handling if specialized type comes from `Typ...
xedin Jun 21, 2023
3b5ebaa
Fix some tests in IRGen folder
aschwaighofer May 31, 2023
599e82c
Fix more test/IRGen test cases
aschwaighofer Jun 2, 2023
a44b36c
Fix abitypes.swift, class_update_callback_without_fixed_layout.sil,dy...
aschwaighofer Jun 21, 2023
52961c9
Try to fix windows/linux
aschwaighofer Jun 21, 2023
059bbf5
[test][Backtracing] Fix crash message pattern for single threaded mode
kateinoigakukun Jun 21, 2023
4500aad
[DebugInfo][NFC] Update test to not check width of alloca integer arg...
felipepiovezan Jun 22, 2023
f38b9a9
[Threading][TSan] Update comments.
al45tair Jun 22, 2023
3f0c0f0
[Compile Time Constant Extraction] Add extraction of all conformances...
artemcm Jun 14, 2023
c5018f3
[Observation] Ensure lock storage rounding works for non-integral loc...
phausler Jun 22, 2023
e20be0e
Revert [Runtime] Let CF provide us with state, avoiding runtime looku...
Catfish-Man Jun 22, 2023
3202021
Merge pull request #66857 from Catfish-Man/revert-bridge-flip
gottesmm Jun 22, 2023
806fd1b
[Runtime] Handle generic single payload enums in resilient resolve (#...
drexin Jun 22, 2023
024efd2
SILGen: Don't emit key path property descriptors for properties in or...
jckarter Jun 22, 2023
4fc0be2
Merge pull request #66853 from felipepiovezan/felipe/alloca_size_int_...
felipepiovezan Jun 22, 2023
640a006
[DebugInfo][NFC] Update test to not check width of integer argument
felipepiovezan Jun 22, 2023
bbccbd3
Merge pull request #66179 from Mayank-84/Refactor/Stacks
swift-ci Jun 22, 2023
c3ae413
[Runtime] Use proper offset in generic multi payload enum layout stri...
drexin Jun 22, 2023
37220ed
[Runtime] Handle generic multi payload enums in resilient resolve (#6...
drexin Jun 22, 2023
4f4d014
Merge pull request #66721 from al45tair/eng/PR-110665213
al45tair Jun 22, 2023
b66dfad
[SourceKit] When AST-based cursor info is cancelled, don’t run solver...
ahoppen Jun 22, 2023
35661f2
[SourceKit] Inform consumers about cancellation from a background queue
ahoppen Jun 22, 2023
1980da9
Merge pull request #66812 from aschwaighofer/fix_some_opaque_ptr_test...
aschwaighofer Jun 22, 2023
957b465
Fix some IRGen tests on armv7k for opaque pointers
aschwaighofer Jun 22, 2023
5eee766
Fix test/IRGen/abitypes.swift
aschwaighofer Jun 22, 2023
49831a9
Fix @objcImpl crash with async/sync overloads
beccadax Jun 22, 2023
096d8ea
[CodeCompletion] Suggest synthesized declarations from macros
rintaro Jun 21, 2023
3e28a7c
[cxx-interop] Make libstdc++ header and modulemap arch-independent
egorzhdan Jun 22, 2023
037ddc9
[CursorInfo] Re-use already built ASTs ahead of currently building ones
bnbarham Jun 22, 2023
a92deb0
[GenericSignature] Exclude GenericParam Constraints
angela-laar Jun 21, 2023
9da65ca
Merge pull request #66865 from aschwaighofer/fix_opaque_pointer_irgen...
swift-ci Jun 22, 2023
a0fa946
[Completion] Add targetEnvironment(macCatalyst) platform condition
bnbarham Jun 22, 2023
31952cc
Merge pull request #66860 from jckarter/no-moveonly-property-descriptors
jckarter Jun 23, 2023
8d4a51b
Merge pull request #66858 from beccadax/names-out-of-sync
beccadax Jun 23, 2023
36ddb77
[IRGen+Runtime] Layout string getEnumTag for generic multi payload en...
drexin Jun 23, 2023
edc003a
Merge pull request #66850 from kateinoigakukun/katei/patch-series/rep...
kateinoigakukun Jun 23, 2023
536234b
Merge pull request #66859 from felipepiovezan/felipe/alloca_size_int_...
felipepiovezan Jun 23, 2023
12f01ce
Merge pull request #66855 from apple/egorzhdan/libstdcxx-arch-indepen...
egorzhdan Jun 23, 2023
dc60c07
[DebugInfo] Disable failing tests on watchOS
felipepiovezan Jun 23, 2023
511c344
[Build] Introduce --lldb-configure-tests option
Michael137 Jun 23, 2023
d72cc2c
Merge pull request #66879 from felipepiovezan/felipe/disable_watchos_...
swift-ci Jun 23, 2023
b91328c
Merge pull request #66866 from ahoppen/ahoppen/cursor-info-deadlock
ahoppen Jun 23, 2023
9a11e04
Merge pull request #66639 from artemcm/ConstExtractConformanceInfo
artemcm Jun 23, 2023
1d7c534
Merge pull request #66839 from bnbarham/reuse-cursor-ast
bnbarham Jun 23, 2023
3ea3234
Merge pull request #66875 from bnbarham/add-maccatalyst-completion
bnbarham Jun 23, 2023
ce4ec06
Merge pull request #66796 from xedin/rdar-111059036
xedin Jun 23, 2023
196ea79
Merge pull request #66821 from rintaro/completion-macro-expanded-rdar...
rintaro Jun 23, 2023
6607f05
Merge pull request #66864 from angela-laar/exclude-generic-param-cons...
angela-laar Jun 23, 2023
e9ff334
Fix missing indexing data with overloaded type (#65729)
keith Jun 23, 2023
821e260
Merge pull request #66880 from Michael137/bugfix/build-script-configu...
JDevlieghere Jun 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[Threading][TSan] Update comments.
Updated the comments for tsan::acquire and tsan::release to better
reflect what TSan is actually doing.
rdar://110665213
  • Loading branch information
al45tair committed Jun 22, 2023
commit f38b9a960df744e22c0663b6cec1b129aec6975e
41 changes: 32 additions & 9 deletions include/swift/Threading/ThreadSanitizer.h
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,35 @@ inline bool enabled() {
return threading_impl::_swift_tsan_enabled;
}

/// Indicate to TSan that an acquiring load has occurred on the current
/// thread. If some other thread does a releasing store with the same
/// pointer, we are indicating to TSan that all writes that happened
/// before that store will be visible to the current thread after the
/// `acquire()`.
/// Inform TSan about a synchronization operation.
///
/// This is used when TSan cannot see the synchronization operation, for
/// example, if it is using a custom primitive for which TSan doesn't have
/// a built-in interceptor. This does not necessarily mean a lock or a C(++)
/// atomic operation - it could be any kind of synchronization mechanism.
///
/// An acquire-release pair using the same address establishes an ordering
/// constraint in TSan's happens-before graph, which TSan uses to determine
/// whether two memory accesses from different threads have a well-defined
/// order.
///
/// For instance, in
///
/// Thread 1 Thread 2
///
/// access to y
/// tsan::release(x)
/// lock given away
///
/// --> sync point -->
///
/// lock taken
/// tsan::acquire(x)
/// access to y
///
/// the access to y from Thread 2 is safe relative to the preceding access to
/// y on Thread 1 because it is preceded by an acquire of x that was itself
/// preceded by a release of x.
template <typename T>
T *acquire(T *ptr) {
if (threading_impl::_swift_tsan_acquire) {
Expand All @@ -76,10 +100,9 @@ T *acquire(T *ptr) {
return ptr;
}

/// Indicate to TSan that a releasing store has occurred on the current
/// thread. If some other thread does an acquiring load with the same
/// pointer, we are indicating to TSan that that thread will be able to
/// see all writes that happened before the `release()`.
/// Inform TSan about a synchronization operation.
///
/// This is the counterpart to tsan::acquire.
template <typename T>
T *release(T *ptr) {
if (threading_impl::_swift_tsan_release) {
Expand Down

AltStyle によって変換されたページ (->オリジナル) /