Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Macros
SkThreadAnnotations.h File Reference
#include "include/private/base/SkFeatures.h"

Go to the source code of this file.

Macros

#define SK_THREAD_ANNOTATION_ATTRIBUTE(x)
 
#define SK_CAPABILITY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(capability(x))
 
#define SK_SCOPED_CAPABILITY    SK_THREAD_ANNOTATION_ATTRIBUTE(scoped_lockable)
 
#define SK_GUARDED_BY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(guarded_by(x))
 
#define SK_PT_GUARDED_BY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(pt_guarded_by(x))
 
#define SK_ACQUIRED_BEFORE(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(acquired_before(__VA_ARGS__))
 
#define SK_ACQUIRED_AFTER(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(acquired_after(__VA_ARGS__))
 
#define SK_REQUIRES(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(requires_capability(__VA_ARGS__))
 
#define SK_REQUIRES_SHARED(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(requires_shared_capability(__VA_ARGS__))
 
#define SK_ACQUIRE(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(acquire_capability(__VA_ARGS__))
 
#define SK_ACQUIRE_SHARED(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(acquire_shared_capability(__VA_ARGS__))
 
#define SK_RELEASE_CAPABILITY(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(release_capability(__VA_ARGS__))
 
#define SK_RELEASE_SHARED_CAPABILITY(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(release_shared_capability(__VA_ARGS__))
 
#define SK_TRY_ACQUIRE(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(try_acquire_capability(__VA_ARGS__))
 
#define SK_TRY_ACQUIRE_SHARED(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(try_acquire_shared_capability(__VA_ARGS__))
 
#define SK_EXCLUDES(...)    SK_THREAD_ANNOTATION_ATTRIBUTE(locks_excluded(__VA_ARGS__))
 
#define SK_ASSERT_CAPABILITY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(assert_capability(x))
 
#define SK_ASSERT_SHARED_CAPABILITY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(assert_shared_capability(x))
 
#define SK_RETURN_CAPABILITY(x)    SK_THREAD_ANNOTATION_ATTRIBUTE(lock_returned(x))
 
#define SK_NO_THREAD_SAFETY_ANALYSIS    SK_THREAD_ANNOTATION_ATTRIBUTE(no_thread_safety_analysis)
 
#define SK_POTENTIALLY_BLOCKING_REGION_BEGIN
 
#define SK_POTENTIALLY_BLOCKING_REGION_END
 

Macro Definition Documentation

◆ SK_ACQUIRE

#define SK_ACQUIRE (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(acquire_capability(__VA_ARGS__))

Definition at line 46 of file SkThreadAnnotations.h.

82 {
83 void __google_cxa_guard_acquire_begin(void) __attribute__((weak));
84 void __google_cxa_guard_acquire_end (void) __attribute__((weak));
85 }
86 static inline void sk_potentially_blocking_region_begin() {
87 if (&__google_cxa_guard_acquire_begin) {
88 __google_cxa_guard_acquire_begin();
89 }
90 }
91 static inline void sk_potentially_blocking_region_end() {
92 if (&__google_cxa_guard_acquire_end) {
93 __google_cxa_guard_acquire_end();
94 }
95 }
96 #define SK_POTENTIALLY_BLOCKING_REGION_BEGIN sk_potentially_blocking_region_begin()
97 #define SK_POTENTIALLY_BLOCKING_REGION_END sk_potentially_blocking_region_end()
98#else
99 #define SK_POTENTIALLY_BLOCKING_REGION_BEGIN
100 #define SK_POTENTIALLY_BLOCKING_REGION_END
101#endif
102
103#endif // SkThreadAnnotations_DEFINED
__attribute__((visibility("default"))) int RunBenchmarks(int argc

◆ SK_ACQUIRE_SHARED

#define SK_ACQUIRE_SHARED (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(acquire_shared_capability(__VA_ARGS__))

Definition at line 49 of file SkThreadAnnotations.h.

◆ SK_ACQUIRED_AFTER

#define SK_ACQUIRED_AFTER (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(acquired_after(__VA_ARGS__))

Definition at line 37 of file SkThreadAnnotations.h.

◆ SK_ACQUIRED_BEFORE

#define SK_ACQUIRED_BEFORE (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(acquired_before(__VA_ARGS__))

Definition at line 34 of file SkThreadAnnotations.h.

◆ SK_ASSERT_CAPABILITY

#define SK_ASSERT_CAPABILITY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(assert_capability(x))

Definition at line 69 of file SkThreadAnnotations.h.

◆ SK_ASSERT_SHARED_CAPABILITY

#define SK_ASSERT_SHARED_CAPABILITY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(assert_shared_capability(x))

Definition at line 72 of file SkThreadAnnotations.h.

◆ SK_CAPABILITY

#define SK_CAPABILITY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(capability(x))

Definition at line 22 of file SkThreadAnnotations.h.

◆ SK_EXCLUDES

#define SK_EXCLUDES (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(locks_excluded(__VA_ARGS__))

Definition at line 66 of file SkThreadAnnotations.h.

◆ SK_GUARDED_BY

#define SK_GUARDED_BY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(guarded_by(x))

Definition at line 28 of file SkThreadAnnotations.h.

◆ SK_NO_THREAD_SAFETY_ANALYSIS

#define SK_NO_THREAD_SAFETY_ANALYSIS    SK_THREAD_ANNOTATION_ATTRIBUTE(no_thread_safety_analysis)

Definition at line 78 of file SkThreadAnnotations.h.

◆ SK_POTENTIALLY_BLOCKING_REGION_BEGIN

#define SK_POTENTIALLY_BLOCKING_REGION_BEGIN

Definition at line 100 of file SkThreadAnnotations.h.

◆ SK_POTENTIALLY_BLOCKING_REGION_END

#define SK_POTENTIALLY_BLOCKING_REGION_END

Definition at line 101 of file SkThreadAnnotations.h.

◆ SK_PT_GUARDED_BY

#define SK_PT_GUARDED_BY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(pt_guarded_by(x))

Definition at line 31 of file SkThreadAnnotations.h.

◆ SK_RELEASE_CAPABILITY

#define SK_RELEASE_CAPABILITY (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(release_capability(__VA_ARGS__))

Definition at line 53 of file SkThreadAnnotations.h.

◆ SK_RELEASE_SHARED_CAPABILITY

#define SK_RELEASE_SHARED_CAPABILITY (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(release_shared_capability(__VA_ARGS__))

Definition at line 57 of file SkThreadAnnotations.h.

◆ SK_REQUIRES

#define SK_REQUIRES (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(requires_capability(__VA_ARGS__))

Definition at line 40 of file SkThreadAnnotations.h.

◆ SK_REQUIRES_SHARED

#define SK_REQUIRES_SHARED (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(requires_shared_capability(__VA_ARGS__))

Definition at line 43 of file SkThreadAnnotations.h.

◆ SK_RETURN_CAPABILITY

#define SK_RETURN_CAPABILITY (   x)     SK_THREAD_ANNOTATION_ATTRIBUTE(lock_returned(x))

Definition at line 75 of file SkThreadAnnotations.h.

◆ SK_SCOPED_CAPABILITY

#define SK_SCOPED_CAPABILITY    SK_THREAD_ANNOTATION_ATTRIBUTE(scoped_lockable)

Definition at line 25 of file SkThreadAnnotations.h.

◆ SK_THREAD_ANNOTATION_ATTRIBUTE

#define SK_THREAD_ANNOTATION_ATTRIBUTE (   x)

Definition at line 19 of file SkThreadAnnotations.h.

◆ SK_TRY_ACQUIRE

#define SK_TRY_ACQUIRE (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(try_acquire_capability(__VA_ARGS__))

Definition at line 60 of file SkThreadAnnotations.h.

◆ SK_TRY_ACQUIRE_SHARED

#define SK_TRY_ACQUIRE_SHARED (   ...)     SK_THREAD_ANNOTATION_ATTRIBUTE(try_acquire_shared_capability(__VA_ARGS__))

Definition at line 63 of file SkThreadAnnotations.h.