diff options
| author | Paul Eggert | 2019-04-21 21:47:10 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-04-21 23:16:48 -0700 |
| commit | 72067661fef9cb9e1a746a7a825053c8204c7a38 (patch) | |
| tree | b11be11ad0e3fddb4f3498f7d9d293125f94f348 | |
| parent | 418400ab7b36d873905f5ab5e1e07f2bdbd05f9c (diff) | |
| download | emacs-72067661fef9cb9e1a746a7a825053c8204c7a38.tar.gz emacs-72067661fef9cb9e1a746a7a825053c8204c7a38.zip | |
Remove --enablechecking=conslist configure option
* configure.ac: Remove the option.
* configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
* src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
* src/lisp.h (lisp_h_check_cons_list, check_cons_list):
Remove. All uses removed.
* etc/NEWS: Mention this.
| -rw-r--r-- | configure.ac | 9 | ||||
| -rw-r--r-- | etc/NEWS | 5 | ||||
| -rw-r--r-- | src/alloc.c | 16 | ||||
| -rw-r--r-- | src/eval.c | 9 | ||||
| -rw-r--r-- | src/lisp.h | 11 |
5 files changed, 6 insertions, 44 deletions
diff --git a/configure.ac b/configure.ac index b4a9b306912..dd88380d787 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -545,7 +545,7 @@ AC_ARG_ENABLE(checking, | |||
| 545 | enable only specific categories of checks. | 545 | enable only specific categories of checks. |
| 546 | Categories are: all,yes,no. | 546 | Categories are: all,yes,no. |
| 547 | Flags are: stringbytes, stringoverrun, stringfreelist, | 547 | Flags are: stringbytes, stringoverrun, stringfreelist, |
| 548 | structs, xmallocoverrun, conslist, glyphs])], | 548 | structs, xmallocoverrun, glyphs])], |
| 549 | [ac_checking_flags="${enableval}"],[]) | 549 | [ac_checking_flags="${enableval}"],[]) |
| 550 | IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," | 550 | IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," |
| 551 | CHECK_STRUCTS=false | 551 | CHECK_STRUCTS=false |
| @@ -560,7 +560,6 @@ do | |||
| 560 | ac_gc_check_string_overrun= ; | 560 | ac_gc_check_string_overrun= ; |
| 561 | ac_gc_check_string_free_list= ; | 561 | ac_gc_check_string_free_list= ; |
| 562 | ac_xmalloc_overrun= ; | 562 | ac_xmalloc_overrun= ; |
| 563 | ac_gc_check_cons_list= ; | ||
| 564 | ac_glyphs_debug= ;; | 563 | ac_glyphs_debug= ;; |
| 565 | all) ac_enable_checking=1 ; | 564 | all) ac_enable_checking=1 ; |
| 566 | CHECK_STRUCTS=true | 565 | CHECK_STRUCTS=true |
| @@ -568,7 +567,6 @@ do | |||
| 568 | ac_gc_check_string_overrun=1 ; | 567 | ac_gc_check_string_overrun=1 ; |
| 569 | ac_gc_check_string_free_list=1 ; | 568 | ac_gc_check_string_free_list=1 ; |
| 570 | ac_xmalloc_overrun=1 ; | 569 | ac_xmalloc_overrun=1 ; |
| 571 | ac_gc_check_cons_list=1 ; | ||
| 572 | ac_glyphs_debug=1 ;; | 570 | ac_glyphs_debug=1 ;; |
| 573 | # these enable particular checks | 571 | # these enable particular checks |
| 574 | stringbytes) ac_gc_check_stringbytes=1 ;; | 572 | stringbytes) ac_gc_check_stringbytes=1 ;; |
| @@ -576,7 +574,6 @@ do | |||
| 576 | stringfreelist) ac_gc_check_string_free_list=1 ;; | 574 | stringfreelist) ac_gc_check_string_free_list=1 ;; |
| 577 | structs) CHECK_STRUCTS=true ;; | 575 | structs) CHECK_STRUCTS=true ;; |
| 578 | xmallocoverrun) ac_xmalloc_overrun=1 ;; | 576 | xmallocoverrun) ac_xmalloc_overrun=1 ;; |
| 579 | conslist) ac_gc_check_cons_list=1 ;; | ||
| 580 | glyphs) ac_glyphs_debug=1 ;; | 577 | glyphs) ac_glyphs_debug=1 ;; |
| 581 | *) AC_MSG_ERROR(unknown check category $check) ;; | 578 | *) AC_MSG_ERROR(unknown check category $check) ;; |
| 582 | esac | 579 | esac |
| @@ -614,10 +611,6 @@ if test x$ac_xmalloc_overrun != x ; then | |||
| 614 | AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1, | 611 | AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1, |
| 615 | [Define this to check for malloc buffer overrun.]) | 612 | [Define this to check for malloc buffer overrun.]) |
| 616 | fi | 613 | fi |
| 617 | if test x$ac_gc_check_cons_list != x ; then | ||
| 618 | AC_DEFINE(GC_CHECK_CONS_LIST, 1, | ||
| 619 | [Define this to check for errors in cons list.]) | ||
| 620 | fi | ||
| 621 | if test x$ac_glyphs_debug != x ; then | 614 | if test x$ac_glyphs_debug != x ; then |
| 622 | AC_DEFINE(GLYPH_DEBUG, 1, | 615 | AC_DEFINE(GLYPH_DEBUG, 1, |
| 623 | [Define this to enable glyphs debugging code.]) | 616 | [Define this to enable glyphs debugging code.]) |
| @@ -89,6 +89,11 @@ Options" in the Emacs manual for more information. | |||
| 89 | check that the portable dumper code has been updated to match the last | 89 | check that the portable dumper code has been updated to match the last |
| 90 | change to one of the data structures that it relies on. | 90 | change to one of the data structures that it relies on. |
| 91 | 91 | ||
| 92 | +++ | ||
| 93 | ** The configure option '--enable-checking=conslist' has been withdrawn. | ||
| 94 | It made Emacs irredeemably slow, and is no longer useful with modern | ||
| 95 | debugging tools. | ||
| 96 | |||
| 92 | --- | 97 | --- |
| 93 | ** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 | 98 | ** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 |
| 94 | builds respectively. | 99 | builds respectively. |
diff --git a/src/alloc.c b/src/alloc.c index 186a4c6a098..d279b6f872e 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -2801,18 +2801,6 @@ DEFUN ("cons", Fcons, Scons, 2, 2, 0, | |||
| 2801 | return val; | 2801 | return val; |
| 2802 | } | 2802 | } |
| 2803 | 2803 | ||
| 2804 | #ifdef GC_CHECK_CONS_LIST | ||
| 2805 | /* Get an error now if there's any junk in the cons free list. */ | ||
| 2806 | void | ||
| 2807 | check_cons_list (void) | ||
| 2808 | { | ||
| 2809 | struct Lisp_Cons *tail = cons_free_list; | ||
| 2810 | |||
| 2811 | while (tail) | ||
| 2812 | tail = tail->u.s.u.chain; | ||
| 2813 | } | ||
| 2814 | #endif | ||
| 2815 | |||
| 2816 | /* Make a list of 1, 2, 3, 4 or 5 specified objects. */ | 2804 | /* Make a list of 1, 2, 3, 4 or 5 specified objects. */ |
| 2817 | 2805 | ||
| 2818 | Lisp_Object | 2806 | Lisp_Object |
| @@ -6003,8 +5991,6 @@ garbage_collect_1 (struct gcstat *gcst) | |||
| 6003 | /* Record this function, so it appears on the profiler's backtraces. */ | 5991 | /* Record this function, so it appears on the profiler's backtraces. */ |
| 6004 | record_in_backtrace (QAutomatic_GC, 0, 0); | 5992 | record_in_backtrace (QAutomatic_GC, 0, 0); |
| 6005 | 5993 | ||
| 6006 | check_cons_list (); | ||
| 6007 | |||
| 6008 | /* Don't keep undo information around forever. | 5994 | /* Don't keep undo information around forever. |
| 6009 | Do this early on, so it is no problem if the user quits. */ | 5995 | Do this early on, so it is no problem if the user quits. */ |
| 6010 | FOR_EACH_BUFFER (nextb) | 5996 | FOR_EACH_BUFFER (nextb) |
| @@ -6124,8 +6110,6 @@ garbage_collect_1 (struct gcstat *gcst) | |||
| 6124 | 6110 | ||
| 6125 | unmark_main_thread (); | 6111 | unmark_main_thread (); |
| 6126 | 6112 | ||
| 6127 | check_cons_list (); | ||
| 6128 | |||
| 6129 | gc_in_progress = 0; | 6113 | gc_in_progress = 0; |
| 6130 | 6114 | ||
| 6131 | unblock_input (); | 6115 | unblock_input (); |
diff --git a/src/eval.c b/src/eval.c index a636f6c50ae..4693767ce7e 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -2210,8 +2210,6 @@ eval_sub (Lisp_Object form) | |||
| 2210 | Lisp_Object args_left = original_args; | 2210 | Lisp_Object args_left = original_args; |
| 2211 | ptrdiff_t numargs = list_length (args_left); | 2211 | ptrdiff_t numargs = list_length (args_left); |
| 2212 | 2212 | ||
| 2213 | check_cons_list (); | ||
| 2214 | |||
| 2215 | if (numargs < XSUBR (fun)->min_args | 2213 | if (numargs < XSUBR (fun)->min_args |
| 2216 | || (XSUBR (fun)->max_args >= 0 | 2214 | || (XSUBR (fun)->max_args >= 0 |
| 2217 | && XSUBR (fun)->max_args < numargs)) | 2215 | && XSUBR (fun)->max_args < numargs)) |
| @@ -2240,7 +2238,6 @@ eval_sub (Lisp_Object form) | |||
| 2240 | 2238 | ||
| 2241 | val = XSUBR (fun)->function.aMANY (argnum, vals); | 2239 | val = XSUBR (fun)->function.aMANY (argnum, vals); |
| 2242 | 2240 | ||
| 2243 | check_cons_list (); | ||
| 2244 | lisp_eval_depth--; | 2241 | lisp_eval_depth--; |
| 2245 | /* Do the debug-on-exit now, while VALS still exists. */ | 2242 | /* Do the debug-on-exit now, while VALS still exists. */ |
| 2246 | if (backtrace_debug_on_exit (specpdl + count)) | 2243 | if (backtrace_debug_on_exit (specpdl + count)) |
| @@ -2346,7 +2343,6 @@ eval_sub (Lisp_Object form) | |||
| 2346 | else | 2343 | else |
| 2347 | xsignal1 (Qinvalid_function, original_fun); | 2344 | xsignal1 (Qinvalid_function, original_fun); |
| 2348 | } | 2345 | } |
| 2349 | check_cons_list (); | ||
| 2350 | 2346 | ||
| 2351 | lisp_eval_depth--; | 2347 | lisp_eval_depth--; |
| 2352 | if (backtrace_debug_on_exit (specpdl + count)) | 2348 | if (backtrace_debug_on_exit (specpdl + count)) |
| @@ -2786,8 +2782,6 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) | |||
| 2786 | if (debug_on_next_call) | 2782 | if (debug_on_next_call) |
| 2787 | do_debug_on_call (Qlambda, count); | 2783 | do_debug_on_call (Qlambda, count); |
| 2788 | 2784 | ||
| 2789 | check_cons_list (); | ||
| 2790 | |||
| 2791 | original_fun = args[0]; | 2785 | original_fun = args[0]; |
| 2792 | 2786 | ||
| 2793 | retry: | 2787 | retry: |
| @@ -2817,13 +2811,11 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) | |||
| 2817 | else if (EQ (funcar, Qautoload)) | 2811 | else if (EQ (funcar, Qautoload)) |
| 2818 | { | 2812 | { |
| 2819 | Fautoload_do_load (fun, original_fun, Qnil); | 2813 | Fautoload_do_load (fun, original_fun, Qnil); |
| 2820 | check_cons_list (); | ||
| 2821 | goto retry; | 2814 | goto retry; |
| 2822 | } | 2815 | } |
| 2823 | else | 2816 | else |
| 2824 | xsignal1 (Qinvalid_function, original_fun); | 2817 | xsignal1 (Qinvalid_function, original_fun); |
| 2825 | } | 2818 | } |
| 2826 | check_cons_list (); | ||
| 2827 | lisp_eval_depth--; | 2819 | lisp_eval_depth--; |
| 2828 | if (backtrace_debug_on_exit (specpdl + count)) | 2820 | if (backtrace_debug_on_exit (specpdl + count)) |
| 2829 | val = call_debugger (list2 (Qexit, val)); | 2821 | val = call_debugger (list2 (Qexit, val)); |
| @@ -2935,7 +2927,6 @@ apply_lambda (Lisp_Object fun, Lisp_Object args, ptrdiff_t count) | |||
| 2935 | set_backtrace_args (specpdl + count, arg_vector, numargs); | 2927 | set_backtrace_args (specpdl + count, arg_vector, numargs); |
| 2936 | tem = funcall_lambda (fun, numargs, arg_vector); | 2928 | tem = funcall_lambda (fun, numargs, arg_vector); |
| 2937 | 2929 | ||
| 2938 | check_cons_list (); | ||
| 2939 | lisp_eval_depth--; | 2930 | lisp_eval_depth--; |
| 2940 | /* Do the debug-on-exit now, while arg_vector still exists. */ | 2931 | /* Do the debug-on-exit now, while arg_vector still exists. */ |
| 2941 | if (backtrace_debug_on_exit (specpdl + count)) | 2932 | if (backtrace_debug_on_exit (specpdl + count)) |
diff --git a/src/lisp.h b/src/lisp.h index 2d250fc52ce..d803f160006 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -413,9 +413,6 @@ typedef EMACS_INT Lisp_Word; | |||
| 413 | #define lisp_h_XCONS(a) \ | 413 | #define lisp_h_XCONS(a) \ |
| 414 | (eassert (CONSP (a)), XUNTAG (a, Lisp_Cons, struct Lisp_Cons)) | 414 | (eassert (CONSP (a)), XUNTAG (a, Lisp_Cons, struct Lisp_Cons)) |
| 415 | #define lisp_h_XHASH(a) XUFIXNUM (a) | 415 | #define lisp_h_XHASH(a) XUFIXNUM (a) |
| 416 | #ifndef GC_CHECK_CONS_LIST | ||
| 417 | # define lisp_h_check_cons_list() ((void) 0) | ||
| 418 | #endif | ||
| 419 | #if USE_LSB_TAG | 416 | #if USE_LSB_TAG |
| 420 | # define lisp_h_make_fixnum(n) \ | 417 | # define lisp_h_make_fixnum(n) \ |
| 421 | XIL ((EMACS_INT) (((EMACS_UINT) (n) << INTTYPEBITS) + Lisp_Int0)) | 418 | XIL ((EMACS_INT) (((EMACS_UINT) (n) << INTTYPEBITS) + Lisp_Int0)) |
| @@ -459,9 +456,6 @@ typedef EMACS_INT Lisp_Word; | |||
| 459 | # define XCDR(c) lisp_h_XCDR (c) | 456 | # define XCDR(c) lisp_h_XCDR (c) |
| 460 | # define XCONS(a) lisp_h_XCONS (a) | 457 | # define XCONS(a) lisp_h_XCONS (a) |
| 461 | # define XHASH(a) lisp_h_XHASH (a) | 458 | # define XHASH(a) lisp_h_XHASH (a) |
| 462 | # ifndef GC_CHECK_CONS_LIST | ||
| 463 | # define check_cons_list() lisp_h_check_cons_list () | ||
| 464 | # endif | ||
| 465 | # if USE_LSB_TAG | 459 | # if USE_LSB_TAG |
| 466 | # define make_fixnum(n) lisp_h_make_fixnum (n) | 460 | # define make_fixnum(n) lisp_h_make_fixnum (n) |
| 467 | # define XFIXNAT(a) lisp_h_XFIXNAT (a) | 461 | # define XFIXNAT(a) lisp_h_XFIXNAT (a) |
| @@ -3965,11 +3959,6 @@ extern void init_alloc (void); | |||
| 3965 | extern void syms_of_alloc (void); | 3959 | extern void syms_of_alloc (void); |
| 3966 | extern struct buffer * allocate_buffer (void); | 3960 | extern struct buffer * allocate_buffer (void); |
| 3967 | extern int valid_lisp_object_p (Lisp_Object); | 3961 | extern int valid_lisp_object_p (Lisp_Object); |
| 3968 | #ifdef GC_CHECK_CONS_LIST | ||
| 3969 | extern void check_cons_list (void); | ||
| 3970 | #else | ||
| 3971 | INLINE void (check_cons_list) (void) { lisp_h_check_cons_list (); } | ||
| 3972 | #endif | ||
| 3973 | 3962 | ||
| 3974 | /* Defined in gmalloc.c. */ | 3963 | /* Defined in gmalloc.c. */ |
| 3975 | #if !defined DOUG_LEA_MALLOC && !defined HYBRID_MALLOC && !defined SYSTEM_MALLOC | 3964 | #if !defined DOUG_LEA_MALLOC && !defined HYBRID_MALLOC && !defined SYSTEM_MALLOC |