src/hb-atomic-private.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 18172216 2017-05-16T14:26:28 Minor
Behdad Esfahbod 49e72634 2015-12-10T17:44:19 Limit use of AIX intrinsics to IBM's compiler
Behdad Esfahbod 70b33eda 2015-12-10T15:54:42 Add atomic ops for AIX Patch from Volker Simonis.
Behdad Esfahbod 9c974360 2015-04-09T12:04:14 Minor rename
Behdad Esfahbod 2958f2c1 2015-04-08T16:26:16 Fixup
Konstantin Ritt 3f174cd0 2015-03-28T00:49:33 Minor refactoring to the atomics implementation s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/ to bring it in par with hb_mutex_impl_t, then re-introduce hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t. In hb_reference_count_t, make it clear the non-atomic get and set are intentional due to nature of the cases they are used in (comparison to -1 and the debug output/tracing).
Behdad Esfahbod 45a8b46f 2015-04-08T12:49:38 Allow implementing atomic and mutex ops in config Motivated by https://github.com/behdad/harfbuzz/pull/92
Behdad Esfahbod db308280 2014-07-19T16:32:04 [win] Consolidate windows.h include tips and tricks
Behdad Esfahbod f26d59d4 2014-07-19T16:10:21 More fixing MemoryBarrier() on Mingw32 Set requested windows header to Vista. See discussion: https://github.com/behdad/harfbuzz/commit/fbb2847f541389f40718af71c4945024ae177ab2#commitcomment-7054700
Primiano Tucci 05870ed6 2014-04-02T11:35:27 Use __aarch64__ for 64-bit ARM detection, not __arm64__ Many GCC versions don't define __arm64__
Behdad Esfahbod fbb2847f 2014-02-05T08:22:06 Improve MemoryBarrier() implementation See thread "[HarfBuzz] compilation error of 0.9.26 with MinGW" started by Werner.
Behdad Esfahbod 0bb31e44 2013-11-20T14:21:07 Bug 71845 - Use 64-bit cmpexch on ARM64 iOS
Behdad Esfahbod 1f970609 2013-04-04T15:02:03 Put back MemoryBarrier fallback implementation on MINGW32 This almost reverts 2761e8a632c14353f286708898be8df6ebad7407, but only if under MINGW32, so it doesn't affect MSVC.
Behdad Esfahbod 2761e8a6 2013-03-07T20:51:30 [win32] Remove MemoryBarrier() fallback implementation I added these because the older mingw32 toolchain didn't have MemoryBarrier(). The newer mingw-w64 toolchain however has. As reported by John Emmas this was causing build failure with MSVC (on glib) because of inline issues. But that reminded me that we may be taking this path even if the system implements MemoryBarrier as a function, which is a waste. So, just remove it.
Behdad Esfahbod a6c1e040 2013-02-12T15:31:58 Improve check for Windows platforms Instead of checking for compiler, check for platform.
Behdad Esfahbod b8427801 2013-02-11T17:02:17 Minor
Behdad Esfahbod de649f07 2013-01-14T00:26:43 Fix residuals from fontconfig changes
Behdad Esfahbod 2dcb333f 2013-01-10T01:17:59 Add atomic ops for Solaris Based on fontconfig patch from Raimund Steger.
Behdad Esfahbod 11d29565 2013-01-02T17:41:27 Minor
Behdad Esfahbod 0e9f0f3e 2012-12-10T15:25:21 Fix atomic ops on iOS Patch from John Ralls.
Behdad Esfahbod 071d5b83 2012-12-10T00:57:00 Work around missing OSAtomicCompareAndSwapPtrBarrier() on OS X 10.4 Not sure how to handle iOS.
Behdad Esfahbod 0e292eb2 2012-10-02T14:59:00 Remove Glib thread-safety support Now that we have pthread detection in configure, we don't need Glib anymore. Glib will only be a Unicode data provider.
Behdad Esfahbod 52ff2681 2012-08-28T18:03:35 Use VisualStudio-style atomic intrinsics on mingw32
Behdad Esfahbod fa2bd9fb 2012-07-14T12:15:54 Further simplify atomic ops on Visual Studio
Behdad Esfahbod 391f1ff5 2012-07-13T09:04:07 Fix _InterlockedCompareExchangePointer on x86
Behdad Esfahbod 12f5c0a2 2012-06-26T11:16:13 Fix check for Intel atomic ops
Behdad Esfahbod 4a3a9897 2012-06-05T20:39:07 Disable Intel atomic ops on mingw32 Apparently the configure test is not enough...
Behdad Esfahbod 0594a244 2012-06-05T20:35:40 Cleanup TRUE/FALSE vs true/false
Behdad Esfahbod 04bc1eeb 2012-06-05T20:16:56 Add configure tests for Intel atomic intrinsics
Behdad Esfahbod 6843ce01 2012-06-05T17:27:20 Add atomic-pointer functions Gonig to use these for lock-free linked-lists, to be used for hb_language_t among other things.
Behdad Esfahbod cdafe3a7 2012-06-05T16:34:49 Add gcc intrinsics implementations for atomic and mutex
Behdad Esfahbod d970d289 2012-06-05T16:06:28 Add gcc implementation for atomic ops
Behdad Esfahbod 0558d55b 2012-05-28T10:46:47 Remove hb_atomic_int_set/get() We never use them in fact... I'm just adjusting these as I better understand the requirements of the code and the guarantees of each operation.
Behdad Esfahbod a3547330 2012-05-27T10:20:47 Cleanup atomic ops on OS X
Behdad Esfahbod 819faa05 2012-05-27T10:09:18 Minor
Behdad Esfahbod 303d5850 2012-05-27T10:01:13 Fix Windows atomic get/set According to: http://msdn.microsoft.com/en-us/library/65tt87y8.aspx MemoryBarrier() is the right macro to protect these, not _ReadBarrier() and/or _WriteBarrier().
Behdad Esfahbod cde1c011 2012-05-24T10:46:39 Fix hb_atomic_int_set() implementation for HB_NO_MT As pointed out by Jonathan Kew.
Behdad Esfahbod bd908b4f 2012-05-17T22:02:08 Implement hb_atomic_int_set() for OS X
Behdad Esfahbod 022a05ae 2012-05-17T21:53:24 Minor
Behdad Esfahbod 22afd66a 2012-05-17T21:23:49 Add hb_atomic_int_set() again
Behdad Esfahbod 34961e31 2012-05-17T20:50:38 Prefer native atomic/mutex ops to glib's
Behdad Esfahbod ec3ba4b9 2012-05-17T20:30:46 Move atomic ops into their own header