Commit Graph

25 Commits

Author SHA1 Message Date
Behdad Esfahbod 2dcb333f52 Add atomic ops for Solaris
Based on fontconfig patch from Raimund Steger.
2013-01-10 01:18:10 -06:00
Behdad Esfahbod 11d2956553 Minor 2013-01-02 17:41:27 -06:00
Behdad Esfahbod 0e9f0f3e5f Fix atomic ops on iOS
Patch from John Ralls.
2012-12-10 15:25:21 -05:00
Behdad Esfahbod 071d5b831e Work around missing OSAtomicCompareAndSwapPtrBarrier() on OS X 10.4
Not sure how to handle iOS.
2012-12-10 00:57:00 -05:00
Behdad Esfahbod 0e292eb2a2 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.
2012-10-02 15:09:38 -04:00
Behdad Esfahbod 52ff2681d8 Use VisualStudio-style atomic intrinsics on mingw32 2012-08-28 18:03:35 -04:00
Behdad Esfahbod fa2bd9fb63 Further simplify atomic ops on Visual Studio 2012-07-14 12:15:54 -04:00
Behdad Esfahbod 391f1ff5d8 Fix _InterlockedCompareExchangePointer on x86 2012-07-13 09:04:07 -04:00
Behdad Esfahbod 12f5c0a222 Fix check for Intel atomic ops 2012-06-26 11:16:13 -04:00
Behdad Esfahbod 4a3a9897b3 Disable Intel atomic ops on mingw32
Apparently the configure test is not enough...
2012-06-05 20:39:07 -04:00
Behdad Esfahbod 0594a24484 Cleanup TRUE/FALSE vs true/false 2012-06-05 20:35:40 -04:00
Behdad Esfahbod 04bc1eebe7 Add configure tests for Intel atomic intrinsics 2012-06-05 20:16:56 -04:00
Behdad Esfahbod 6843ce01be Add atomic-pointer functions
Gonig to use these for lock-free linked-lists, to be used for
hb_language_t among other things.
2012-06-05 17:27:20 -04:00
Behdad Esfahbod cdafe3a7d8 Add gcc intrinsics implementations for atomic and mutex 2012-06-05 16:40:23 -04:00
Behdad Esfahbod d970d2899b Add gcc implementation for atomic ops 2012-06-05 16:06:28 -04:00
Behdad Esfahbod 0558d55bac 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.
2012-05-28 10:46:47 -04:00
Behdad Esfahbod a3547330fa Cleanup atomic ops on OS X 2012-05-27 10:20:47 -04:00
Behdad Esfahbod 819faa0530 Minor 2012-05-27 10:09:18 -04:00
Behdad Esfahbod 303d5850ec 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().
2012-05-27 10:01:13 -04:00
Behdad Esfahbod cde1c0114b Fix hb_atomic_int_set() implementation for HB_NO_MT
As pointed out by Jonathan Kew.
2012-05-24 10:46:39 -04:00
Behdad Esfahbod bd908b4f10 Implement hb_atomic_int_set() for OS X 2012-05-17 22:02:08 -04:00
Behdad Esfahbod 022a05ae90 Minor 2012-05-17 21:53:24 -04:00
Behdad Esfahbod 22afd66a30 Add hb_atomic_int_set() again 2012-05-17 21:23:49 -04:00
Behdad Esfahbod 34961e3198 Prefer native atomic/mutex ops to glib's 2012-05-17 20:50:38 -04:00
Behdad Esfahbod ec3ba4b96f Move atomic ops into their own header 2012-05-17 20:30:46 -04:00