forked from enlightenment/efl
eina: fix use of Valgrind macro in Eina_Cow.
This commit is contained in:
parent
e02bb36e3a
commit
a40c41b1bd
|
@ -395,7 +395,7 @@ eina_cow_write(Eina_Cow *cow,
|
||||||
ref = EINA_COW_PTR_GET(*data);
|
ref = EINA_COW_PTR_GET(*data);
|
||||||
|
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
if (ref->refcount == 1)
|
if (ref->refcount == 1)
|
||||||
{
|
{
|
||||||
|
@ -415,7 +415,7 @@ eina_cow_write(Eina_Cow *cow,
|
||||||
|
|
||||||
_eina_cow_hash_del(cow, *data, ref);
|
_eina_cow_hash_del(cow, *data, ref);
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
@ -426,21 +426,21 @@ eina_cow_write(Eina_Cow *cow,
|
||||||
ref->refcount = 1;
|
ref->refcount = 1;
|
||||||
ref->hashed = EINA_FALSE;
|
ref->hashed = EINA_FALSE;
|
||||||
ref->togc = EINA_FALSE;
|
ref->togc = EINA_FALSE;
|
||||||
|
#ifdef EINA_COW_MAGIC_ON
|
||||||
|
EINA_MAGIC_SET(ref, EINA_COW_PTR_MAGIC);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
r = EINA_COW_DATA_GET(ref);
|
r = EINA_COW_DATA_GET(ref);
|
||||||
memcpy(r, *data, cow->struct_size);
|
memcpy(r, *data, cow->struct_size);
|
||||||
*((void**) data) = r;
|
*((void**) data) = r;
|
||||||
|
|
||||||
#ifdef EINA_COW_MAGIC_ON
|
|
||||||
EINA_MAGIC_SET(ref, EINA_COW_PTR_MAGIC);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
end:
|
end:
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
#ifdef EINA_COW_MAGIC_ON
|
#ifdef EINA_COW_MAGIC_ON
|
||||||
# ifdef HAVE_BACKTRACE
|
# ifdef HAVE_BACKTRACE
|
||||||
|
@ -450,7 +450,7 @@ eina_cow_write(Eina_Cow *cow,
|
||||||
ref->writing = EINA_TRUE;
|
ref->writing = EINA_TRUE;
|
||||||
#endif
|
#endif
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return (void *) *data;
|
return (void *) *data;
|
||||||
|
@ -468,16 +468,19 @@ eina_cow_done(Eina_Cow *cow,
|
||||||
EINA_COW_MAGIC_CHECK(cow);
|
EINA_COW_MAGIC_CHECK(cow);
|
||||||
|
|
||||||
ref = EINA_COW_PTR_GET(data);
|
ref = EINA_COW_PTR_GET(data);
|
||||||
EINA_COW_PTR_MAGIC_CHECK(ref);
|
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
|
EINA_COW_PTR_MAGIC_CHECK(ref);
|
||||||
#ifdef EINA_COW_MAGIC_ON
|
#ifdef EINA_COW_MAGIC_ON
|
||||||
if (!ref->writing)
|
if (!ref->writing)
|
||||||
ERR("Pointer %p is not in a writable state !", dst);
|
ERR("Pointer %p is not in a writable state !", dst);
|
||||||
|
|
||||||
ref->writing = EINA_FALSE;
|
ref->writing = EINA_FALSE;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef NVALGRIND
|
||||||
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!needed_gc) return ;
|
if (!needed_gc) return ;
|
||||||
|
|
||||||
|
@ -492,7 +495,10 @@ eina_cow_done(Eina_Cow *cow,
|
||||||
eina_hash_direct_add(cow->togc, &gc->ref, gc);
|
eina_hash_direct_add(cow->togc, &gc->ref, gc);
|
||||||
ref->togc = EINA_TRUE;
|
ref->togc = EINA_TRUE;
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
|
#endif
|
||||||
|
#ifndef NVALGRIND
|
||||||
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -514,11 +520,11 @@ eina_cow_memcpy(Eina_Cow *cow,
|
||||||
ref = EINA_COW_PTR_GET(src);
|
ref = EINA_COW_PTR_GET(src);
|
||||||
EINA_COW_PTR_MAGIC_CHECK(ref);
|
EINA_COW_PTR_MAGIC_CHECK(ref);
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
ref->refcount++;
|
ref->refcount++;
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -558,12 +564,12 @@ eina_cow_gc(Eina_Cow *cow)
|
||||||
|
|
||||||
ref = EINA_COW_PTR_GET(match);
|
ref = EINA_COW_PTR_GET(match);
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
*((void**)gc->dst) = match;
|
*((void**)gc->dst) = match;
|
||||||
ref->refcount++;
|
ref->refcount++;
|
||||||
#ifndef NVALGRIND
|
#ifndef NVALGRIND
|
||||||
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (ref));
|
VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue