| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Fix address calculations for case END < START.
(mark_stack): Impose Lisp_Object alignment on jmp_buf.
|
| |
|
|
| |
change. Move mutex lock/unlock operations inside BLOCK_INPUT.
|
| |
|
|
| |
to check if mutex should be locked or not.
|
| |
|
|
| |
(valid_lisp_object_p) [WINDOWSNT]: Call w32_valid_pointer_p to do the job.
|
| | |
|
| | |
|
| |
|
|
| |
(valid_lisp_object_p): Use it to check for valid SUBRP obj.
|
| |
|
|
| |
(make_pure_string): Use it to reuse existing string data if possible.
|
| |
|
|
|
|
| |
(init_alloc_once): Initialize them.
(pure_alloc): Allocate non-Lisp objects from the end of pure storage
without alignment.
|
| |
|
|
| |
(list1): New function.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`raw_status_high', and `raw_status_low' with plain integers, and move
them to the end of the structure.
* alloc.c (allocate_process): Use PSEUDOVECSIZE to initialize the
pseudovector's size field so only the Lisp_Object fields get GC'd.
* process.c (update_status, make_process, Fdelete_process)
(Fprocess_status, list_processes_1, start_process_unwind)
(create_process, Fmake_network_process, server_accept_connection)
(wait_reading_process_output, send_process, Fprocess_running_child_p)
(process_send_signal, proc_encode_coding_system, Fprocess_send_eof)
(sigchld_handler, status_notify): Adjust to new non-Lisp fields for
`pid' and `raw_status'.
(Fprocess_id, Fsignal_process): Same, and additionally use floats when
representing PIDs that are larger than most-positive-fixnum.
|
| | |
|
| |
|
|
| |
(ABLOCKS_BASE, lisp_align_malloc, lisp_align_free): Use it.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
(allocate_string_data, make_float, Fcons, allocate_vectorlike)
(Fmake_symbol, allocate_misc): Use BLOCK_INPUT when accessing
global variables.
|
| | |
|
| |
|
|
| |
reduce risk of memory clobberage.
|
| |
|
|
|
| |
(make_interval, allocate_string, make_float, allocate_misc, Fmake_symbol
(Fcons): If ENABLE_CHECKING is on, check we're not called from a sighandler.
|
| | |
|
| |
|
|
|
| |
(valid_lisp_object_p) [!GC_MARK_STACK]: Validate pointer by
passing it to `emacs_write'.
|
| |
|
|
|
|
|
|
|
|
|
| |
(make_float): Likewise.
(free_cons): Likewise.
(Fcons): Likewise.
(check_cons_list): Likewise.
(Fmake_symbol): Likewise.
(allocate_misc): Likewise.
(free_misc): Likewise.
(gc_sweep): Likewise.
|
| |
|
|
| |
an object is really a valid Lisp_Object.
|
| | |
|
| |
|
|
|
| |
(bytes_used_when_reconsidered): New variable.
(emacs_blocked_free): Set that.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(Fmemory_full_p): Function deleted.
(syms_of_alloc): Don't defsubr it.
(memory_full_cons_threshold): New variable.
(spare_memory): Now a vector of 7 elts.
(buffer_memory_full): Don't set Vmemory_full here.
(xfree): Don't try to refill here.
(emacs_blocked_free): Record BYTES_USED in local var.
(memory_full): Now free all the slots in spare_memory.
(refill_memory_reserve): Allocate each slot in spare_memory.
(init_alloc_once): Call refill_memory_reserve.
|
| |
|
|
| |
(xfree) [!SYSTEM_MALLOC]: Call refill_memory_reserve.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
type.
* xterm.c (handle_one_xevent, handle_one_xevent): Likewise.
* unexelf.c (fatal): Fix prototype.
* term.c (fatal): Implement using varargs.
* regex.c (re_char): Move typedef ...
* regex.h (re_char): ... here.
(re_iswctype, re_wctype, re_set_whitespace_regexp): New
prototypes.
* emacs.c (malloc_set_state): Fix return type.
(endif): Fix type.
* lisp.h (fatal): Add argument types.
* dispextern.h (fatal): Delete prototype.
* systime.h: (make_time): Prototype moved from ...
* editfns.c (make_time): ... here.
* editfns.c: Move systime.h include after lisp.h.
* dired.c:
* xsmfns.c:
* process.c: Likewise.
* alloc.c (old_malloc_hook, old_realloc_hook, old_realloc_hook):
Add parameter types.
(__malloc_hook, __realloc_hook, __free_hook): Fix prototypes.
(emacs_blocked_free): Change definition to match __free_hook.
(emacs_blocked_malloc): Change definition to match __malloc_hook.
(emacs_blocked_realloc): Change definition to match
__realloc_hook.
|
| |
|
|
|
|
|
| |
(gc_cons_combined_threshold): Var deleted.
(gc_relative_threshold): New variable.
(Fgarbage_collect, init_alloc_once): Compute gc_relative_threshold
instead of gc_cons_combined_threshold.
|
| | |
|
| |
|
|
|
| |
(Fgarbage_collect, init_alloc_once): Set gc_cons_combined_threshold.
(syms_of_alloc): Declare gc-cons-percentage.
|
| | |
|
| | |
|
| |
|
|
| |
(syms_of_alloc): defsubr it.
|
| |
|
|
| |
value of the slots.
|
| | |
|
| |
|
|
|
|
| |
mallopt.
* ralloc.c (r_alloc_init): Ditto.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
(Fgarbage_collect): Call mark_fringe_data.
(overrun_check_free): Invalidate freed memory if
XMALLOC_CLEAR_FREE_MEMORY is defined.
|
| |
|
|
|
| |
(emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
(reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
(overrun_check_malloc, overrun_check_realloc): Only add
overhead and write check pattern if check_depth is 1 (to handle
recursive calls). Increase/decrease check_depth in entry/exit.
(overrun_check_free): Only check for overhead if check_depth is 1.
Increase/decrease check_depth in entry/exit.
|
| |
|
|
|
|
|
| |
Call that at the very start.
(undo_limit, undo_strong_limit, undo_outer_limit): To undo.c.
(syms_of_alloc): Don't define undo-limit,
undo-strong-limit and undo-outer-limit here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(SIGNAL_THREAD_CHECK): New macro.
* keyboard.c (input_available_signal): Move thread checking code
to macro SIGNAL_THREAD_CHECK and call that macro.
(interrupt_signal): Call SIGNAL_THREAD_CHECK.
* alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
* emacs.c: Define main_thread.
(main): Initialize main_thread.
(handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
(memory_warning_signal): Call SIGNAL_THREAD_CHECK.
* floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
* dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
* sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
* process.c (send_process_trap, sigchld_handler): Call
SIGNAL_THREAD_CHECK.
* data.c (arith_error): Call SIGNAL_THREAD_CHECK.
* atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
|