Age | Commit message (Collapse) | Author | Lines |
2024年03月02日 | add missing inline keyword on default a_barrier definition | Rich Felker | -1/+1 |
|
this is not needed, but may act as a hint to the compiler, and also
serves to suppress unused function warnings if enabled (on by default
since commit 86ac0f794731f03dfff40ee843ff9e2752945d5e).
|
2020年07月05日 | fix C implementation of a_clz_32 | Rich Felker | -1/+1 |
|
this broke mallocng size_to_class on archs without a native
implementation of a_clz_32. the incorrect logic seems to have been
something i derived from a related but distinct log2-type operation.
with the change made here, it passes an exhaustive test.
as this function is new and presently only used by mallocng, no other
functionality was affected.
|
2020年06月11日 | add fallback a_clz_32 implementation | Rich Felker | -0/+15 |
|
some archs already have a_clz_32, used to provide a_ctz_32, but it
hasn't been mandatory because it's not used anywhere yet. mallocng
will need it, however, so add it now. it should probably be optimized
better, but doesn't seem to make a difference at present.
|
2018年04月19日 | remove a_ctz_l from arch specific atomic_arch.h | Andre McCurdy | -19/+23 |
|
Update atomic.h to provide a_ctz_l in all cases (atomic_arch.h should
now only provide a_ctz_32 and/or a_ctz_64).
The generic version of a_ctz_32 now takes advantage of a_clz_32 if
available and the generic a_ctz_64 now makes use of a_ctz_32.
|
2017年08月29日 | add a_clz_64 helper function | Szabolcs Nagy | -0/+21 |
|
counts leading zero bits of a 64bit int, undefined on zero input.
(has nothing to do with atomics, added to atomic.h so target specific
helper functions are together.)
there is a logarithmic generic implementation and another in terms of
a 32bit a_clz_32 on targets where that's available.
|
2016年02月23日 | allow implementing a_cas_p with pointer-sized ll/sc | Bobby Bingham | -0/+18 |
|
No current ports do this, but it will be useful for porting to 64-bit ll/sc
architectures, such as mips64 and powerpc64.
|
2016年01月21日 | refactor internal atomic.h | Rich Felker | -0/+275 |
|
rather than having each arch provide its own atomic.h, there is a new
shared atomic.h in src/internal which pulls arch-specific definitions
from arc/$(ARCH)/atomic_arch.h. the latter can be extremely minimal,
defining only a_cas or new ll/sc type primitives which the shared
atomic.h will use to construct everything else.
this commit avoids making heavy changes to the individual archs'
atomic implementations. definitions which are identical or
near-identical to what the new shared atomic.h would produce have been
removed, but otherwise the changes made are just hooking up the
arch-specific files to the new infrastructure. major changes to take
advantage of the new system will come in subsequent commits.
|
2011年02月15日 | move arch-specific internal headers into place | Rich Felker | -110/+0 |
|
2011年02月12日 | ensure that the compiler doesn't try to reorder around atomic ops | Rich Felker | -13/+13 |
|
2011年02月12日 | initial check-in, version 0.5.0 v0.5.0 | Rich Felker | -0/+110 |
|