+#ifdef HAVE_VALGRIND
+#include <memcheck.h>
+#else
-+#define VALGRIND_MAKE_READABLE(p, n) /* empty */
++#define VALGRIND_MAKE_MEM_DEFINED(p, n) /* empty */
+#endif
+
#ifdef __ia64__
{
VALUE v;
+
-+ VALGRIND_MAKE_READABLE(x, sizeof(*x) * n);
++ VALGRIND_MAKE_MEM_DEFINED(x, sizeof(*x) * n);
+
while (n--) {
v = *x;
{
register RVALUE *obj;
-+ VALGRIND_MAKE_READABLE(&ptr, sizeof(ptr));
++ VALGRIND_MAKE_MEM_DEFINED(&ptr, sizeof(ptr));
obj = RANY(ptr);
-+ VALGRIND_MAKE_READABLE(obj, sizeof(*obj));
++ VALGRIND_MAKE_MEM_DEFINED(obj, sizeof(*obj));
+
if (rb_special_const_p(ptr)) return; /* special const not marked */
if (obj->as.basic.flags == 0) return; /* free cell */