[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r116949: * alloc.c: Simplify by removing use of HAVE
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] trunk r116949: * alloc.c: Simplify by removing use of HAVE_EXECINFO_H. |
Date: |
Mon, 07 Apr 2014 17:52:44 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 116949
revision-id: address@hidden
parent: address@hidden
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Mon 2014-04-07 10:52:38 -0700
message:
* alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
We have a substitute execinfo.h on hosts that lack it.
(suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
isn't optimized away.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/alloc.c alloc.c-20091113204419-o5vbwnq5f7feedwu-252
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2014-04-07 00:51:52 +0000
+++ b/src/ChangeLog 2014-04-07 17:52:38 +0000
@@ -1,3 +1,10 @@
+2014-04-07 Paul Eggert <address@hidden>
+
+ * alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
+ We have a substitute execinfo.h on hosts that lack it.
+ (suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
+ isn't optimized away.
+
2014-04-05 Paul Eggert <address@hidden>
Prefer 'ARRAYELTS (x)' to 'sizeof x / sizeof *x'.
=== modified file 'src/alloc.c'
--- a/src/alloc.c 2014-04-05 19:30:36 +0000
+++ b/src/alloc.c 2014-04-07 17:52:38 +0000
@@ -47,10 +47,7 @@
#endif /* HAVE_WINDOW_SYSTEM */
#include <verify.h>
-
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h> /* For backtrace */
-#endif
+#include <execinfo.h> /* For backtrace. */
#if (defined ENABLE_CHECKING \
&& defined HAVE_VALGRIND_VALGRIND_H \
@@ -207,23 +204,22 @@
#define SUSPICIOUS_OBJECT_CHECKING 1
#ifdef SUSPICIOUS_OBJECT_CHECKING
-struct suspicious_free_record {
+struct suspicious_free_record
+{
void *suspicious_object;
-#ifdef HAVE_EXECINFO_H
void *backtrace[128];
-#endif
};
static void *suspicious_objects[32];
static int suspicious_object_index;
-struct suspicious_free_record suspicious_free_history[64];
+struct suspicious_free_record suspicious_free_history[64] EXTERNALLY_VISIBLE;
static int suspicious_free_history_index;
/* Find the first currently-monitored suspicious pointer in range
[begin,end) or NULL if no such pointer exists. */
static void *find_suspicious_object_in_range (void *begin, void *end);
static void detect_suspicious_free (void *ptr);
#else
-#define find_suspicious_object_in_range(begin, end) NULL
-#define detect_suspicious_free(ptr) (void)
+# define find_suspicious_object_in_range(begin, end) NULL
+# define detect_suspicious_free(ptr) (void)
#endif
/* Maximum amount of C stack to save when a GC happens. */
@@ -6827,7 +6823,7 @@
#ifdef SUSPICIOUS_OBJECT_CHECKING
-static void*
+static void *
find_suspicious_object_in_range (void *begin, void *end)
{
char *begin_a = begin;
@@ -6848,14 +6844,14 @@
detect_suspicious_free (void *ptr)
{
int i;
- struct suspicious_free_record* rec;
eassert (ptr != NULL);
for (i = 0; i < ARRAYELTS (suspicious_objects); ++i)
if (suspicious_objects[i] == ptr)
{
- rec = &suspicious_free_history[suspicious_free_history_index++];
+ struct suspicious_free_record *rec
+ = &suspicious_free_history[suspicious_free_history_index++];
if (suspicious_free_history_index ==
ARRAYELTS (suspicious_free_history))
{
@@ -6864,9 +6860,7 @@
memset (rec, 0, sizeof (*rec));
rec->suspicious_object = ptr;
-#ifdef HAVE_EXECINFO_H
- backtrace (&rec->backtrace[0], ARRAYELTS (rec->backtrace));
-#endif
+ backtrace (rec->backtrace, ARRAYELTS (rec->backtrace));
suspicious_objects[i] = NULL;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r116949: * alloc.c: Simplify by removing use of HAVE_EXECINFO_H.,
Paul Eggert <=