+2013-12-09 Ondřej Bílka <neleai@seznam.cz>
+
+ * malloc/malloc.c: (force_reg): Remove.
+ (__malloc_assert, __libc_malloc, __libc_free, __libc_realloc,
+ _mid_memalign, __libc_calloc, sysmalloc, systrim): Replace
+ force_reg by atomic_forced_read.
+ * malloc/arena.c (ptmalloc_init): Likewise.
+ * malloc/hooks.c (top_check): Likewise.
+
2013-12-09 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
#include <string.h>
-
-/* Force a value to be in a register and stop the compiler referring
- to the source (mostly memory location) again. */
-#define force_reg(val) \
- ({ __typeof (val) _v; asm ("" : "=r" (_v) : "0" (val)); _v; })
-
-
/*
MORECORE-related declarations. By default, rely on sbrk
*/
if (brk != (char*)(MORECORE_FAILURE)) {
/* Call the `morecore' hook if necessary. */
- void (*hook) (void) = force_reg (__after_morecore_hook);
+ void (*hook) (void) = atomic_forced_read (__after_morecore_hook);
if (__builtin_expect (hook != NULL, 0))
(*hook) ();
} else {
snd_brk = (char*)(MORECORE(0));
} else {
/* Call the `morecore' hook if necessary. */
- void (*hook) (void) = force_reg (__after_morecore_hook);
+ void (*hook) (void) = atomic_forced_read (__after_morecore_hook);
if (__builtin_expect (hook != NULL, 0))
(*hook) ();
}
MORECORE(-extra);
/* Call the `morecore' hook if necessary. */
- void (*hook) (void) = force_reg (__after_morecore_hook);
+ void (*hook) (void) = atomic_forced_read (__after_morecore_hook);
if (__builtin_expect (hook != NULL, 0))
(*hook) ();
new_brk = (char*)(MORECORE(0));
void *victim;
void *(*hook) (size_t, const void *)
- = force_reg (__malloc_hook);
+ = atomic_forced_read (__malloc_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(bytes, RETURN_ADDRESS (0));
mchunkptr p; /* chunk corresponding to mem */
void (*hook) (void *, const void *)
- = force_reg (__free_hook);
+ = atomic_forced_read (__free_hook);
if (__builtin_expect (hook != NULL, 0)) {
(*hook)(mem, RETURN_ADDRESS (0));
return;
void* newp; /* chunk to return */
void *(*hook) (void *, size_t, const void *) =
- force_reg (__realloc_hook);
+ atomic_forced_read (__realloc_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
void *p;
void *(*hook) (size_t, size_t, const void *) =
- force_reg (__memalign_hook);
+ atomic_forced_read (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
return (*hook)(alignment, bytes, address);
}
void *(*hook) (size_t, const void *) =
- force_reg (__malloc_hook);
+ atomic_forced_read (__malloc_hook);
if (__builtin_expect (hook != NULL, 0)) {
sz = bytes;
mem = (*hook)(sz, RETURN_ADDRESS (0));