summaryrefslogtreecommitdiffstats
path: root/include/jemalloc/internal/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Add support for MSVCMike Hommey2012-05-011-0/+28
| | | | Tested with MSVC 8 32 and 64 bits.
* Add atomic(9) implementations of atomic operations.Jason Evans2012-04-171-5/+41
| | | | | Add atomic(9) implementations of atomic operations. These are used on FreeBSD for non-x86 architectures.
* Use __sync_add_and_fetch and __sync_sub_and_fetch when they are availableMike Hommey2012-03-261-3/+15
| | | | | | | These functions may be available as inlines or as libgcc functions. In the former case, a __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n macro is defined. But we still want to use these functions in the latter case, when we don't have our own implementation.
* Remove ephemeral mutexes.Jason Evans2012-03-241-0/+30
| | | | | | | | | | | Remove ephemeral mutexes from the prof machinery, and remove malloc_mutex_destroy(). This simplifies mutex management on systems that call malloc()/free() inside pthread_mutex_{create,destroy}(). Add atomic_*_u() for operation on unsigned values. Fix prof_printf() to call malloc_vsnprintf() rather than malloc_snprintf().
* Restructure atomic_*_z().Jason Evans2012-03-231-16/+29
| | | | | Restructure atomic_*_z() so that no casting within macros is necessary. This avoids warnings when compiling with clang.
* Add SH4 and mips architecture support.Jason Evans2012-03-051-0/+16
| | | | Submitted by Andreas Vinsander.
* Simplify small size class infrastructure.Jason Evans2012-02-291-2/+2
| | | | | | | | | | | | Program-generate small size class tables for all valid combinations of LG_TINY_MIN, LG_QUANTUM, and PAGE_SHIFT. Use the appropriate table to generate all relevant data structures, and remove the distinction between tiny/quantum/cacheline/subpage bins. Remove --enable-dynamic-page-shift. This option didn't prove useful in practice, and it prevented optimizations. Add Tilera architecture support.
* Move repo contents in jemalloc/ to top level.Jason Evans2011-04-011-0/+169