mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-23 06:00:41 -08:00
Don’t debug fset by default
This GC bug seems to have been fixed, so the check is no longer needed in production code. From a suggestion by Pip Cet in: https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html * src/alloc.c (SUSPICIOUS_OBJECT_CHECKING) [!ENABLE_CHECKING]: Do not define. (find_suspicious_object_in_range, detect_suspicious_free): Expand to proper dummy expressions if !SUSPICIOUS_OBJECT_CHECKING. * src/data.c (Ffset): Convert test to an eassert.
This commit is contained in:
parent
ceebf3efbe
commit
2b552f3489
2 changed files with 5 additions and 12 deletions
12
src/alloc.c
12
src/alloc.c
|
|
@ -302,15 +302,11 @@ static intptr_t garbage_collection_inhibited;
|
|||
|
||||
const char *pending_malloc_warning;
|
||||
|
||||
#if 0 /* Normally, pointer sanity only on request... */
|
||||
/* Pointer sanity only on request. FIXME: Code depending on
|
||||
SUSPICIOUS_OBJECT_CHECKING is obsolete; remove it entirely. */
|
||||
#ifdef ENABLE_CHECKING
|
||||
#define SUSPICIOUS_OBJECT_CHECKING 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ... but unconditionally use SUSPICIOUS_OBJECT_CHECKING while the GC
|
||||
bug is unresolved. */
|
||||
#define SUSPICIOUS_OBJECT_CHECKING 1
|
||||
|
||||
#ifdef SUSPICIOUS_OBJECT_CHECKING
|
||||
struct suspicious_free_record
|
||||
|
|
@ -327,8 +323,8 @@ static int suspicious_free_history_index;
|
|||
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) ((void *) NULL)
|
||||
# define detect_suspicious_free(ptr) ((void) 0)
|
||||
#endif
|
||||
|
||||
/* Maximum amount of C stack to save when a GC happens. */
|
||||
|
|
|
|||
|
|
@ -771,10 +771,7 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
|
|||
if (AUTOLOADP (function))
|
||||
Fput (symbol, Qautoload, XCDR (function));
|
||||
|
||||
/* Convert to eassert or remove after GC bug is found. In the
|
||||
meantime, check unconditionally, at a slight perf hit. */
|
||||
if (! valid_lisp_object_p (definition))
|
||||
emacs_abort ();
|
||||
eassert (valid_lisp_object_p (definition));
|
||||
|
||||
set_symbol_function (symbol, definition);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue