aboutsummaryrefslogtreecommitdiffstats
path: root/src/ralloc.c
diff options
context:
space:
mode:
authorAndreas Schwab2010-07-08 00:18:28 +0200
committerAndreas Schwab2010-07-08 00:18:28 +0200
commit72af86bd8cf1812d1fcc8924c4093d692040a664 (patch)
treeef5f905c859ad0e4626eff800311782a4cd8ae00 /src/ralloc.c
parentcb768704a459ab54632daf5bb1a10127a6a5c9f7 (diff)
downloademacs-72af86bd8cf1812d1fcc8924c4093d692040a664.tar.gz
emacs-72af86bd8cf1812d1fcc8924c4093d692040a664.zip
Replace bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp
* alloc.c (overrun_check_malloc, overrun_check_realloc) (overrun_check_free, xstrdup, allocate_string) (allocate_string_data, compact_small_strings, Fmake_string) (make_unibyte_string, make_multibyte_string) (make_string_from_bytes, make_specified_string, make_float) (Fcons, allocate_terminal, allocate_frame, make_pure_string) (Fgarbage_collect): Replace bcopy, safe_bcopy, bzero, bcmp by memcpy, memmove, memset, memcmp. * atimer.c (start_atimer, set_alarm): Likewise. * buffer.c (clone_per_buffer_values, report_overlay_modification) (mmap_realloc, init_buffer_once): Likewise. * callint.c (Fcall_interactively): Likewise. * callproc.c (Fcall_process, Fcall_process_region, child_setup) (getenv_internal_1): Likewise. * casefiddle.c (casify_object): Likewise. * ccl.c (ccl_driver): Likewise. * character.c (str_as_multibyte, str_to_multibyte): Likewise. * charset.c (load_charset_map_from_file) (load_charset_map_from_file, load_charset_map_from_vector) (Fdefine_charset_internal): Likewise. * cm.c (Wcm_clear): Likewise. * coding.c (decode_eol, decode_coding_object) (Fset_coding_system_priority, make_subsidiaries): Likewise. * data.c (Faset): Likewise. * dired.c (directory_files_internal, file_name_completion_stat): Likewise. * dispnew.c (new_glyph_matrix, adjust_glyph_matrix) (clear_glyph_row, copy_row_except_pointers) (copy_glyph_row_contents, new_glyph_pool, realloc_glyph_pool) (save_current_matrix, restore_current_matrix) (build_frame_matrix_from_leaf_window, mirrored_line_dance) (mirror_line_dance, scrolling_window): Likewise. * doc.c (Fsnarf_documentation, Fsubstitute_command_keys): Likewise. * doprnt.c (doprnt): Likewise. * editfns.c (Fuser_full_name, make_buffer_string_both) (Fmessage_box, Fformat, Ftranspose_regions): Likewise. * emacs.c (sort_args): Likewise. * eval.c (Fapply, Ffuncall): Likewise. * fileio.c (Ffile_name_directory, make_temp_name) (Fexpand_file_name, search_embedded_absfilename) (Fsubstitute_in_file_name, Ffile_symlink_p, Finsert_file_contents) (auto_save_error): Likewise. * fns.c (Fstring_equal, Fcopy_sequence, concat) (string_to_multibyte, Fstring_as_unibyte, Fstring_as_multibyte) (internal_equal, Fclear_string, larger_vector, copy_hash_table) (Fmake_hash_table): Likewise. * fringe.c (Fdefine_fringe_bitmap): Likewise. * ftfont.c (ftfont_text_extents): Likewise. * getloadavg.c (getloadavg): Likewise. * image.c (define_image_type, make_image, make_image_cache) (x_create_x_image_and_pixmap, xbm_image_p) (w32_create_pixmap_from_bitmap_data, xbm_load, xpm_lookup_color) (xpm_image_p, x_create_bitmap_from_xpm_data, xpm_load) (init_color_table, x_build_heuristic_mask, pbm_image_p, pbm_load) (png_image_p, png_read_from_memory, png_load, jpeg_image_p) (tiff_image_p, tiff_read_from_memory, gif_image_p) (gif_read_from_memory, gif_load, svg_image_p, gs_image_p): Likewise. * indent.c (scan_for_column, compute_motion): Likewise. * insdel.c (gap_left, gap_right, make_gap_smaller, copy_text) (insert_1_both, insert_from_gap, replace_range_2): Likewise. * intervals.c (reproduce_tree, reproduce_tree_obj): Likewise. * keyboard.c (echo_char, save_getcjmp, restore_getcjmp) (kbd_buffer_store_event_hold, apply_modifiers_uncached) (store_user_signal_events, menu_bar_items, tool_bar_items) (process_tool_bar_item, append_tool_bar_item) (read_char_minibuf_menu_prompt, read_key_sequence) (Fread_key_sequence, Fread_key_sequence_vector, Frecent_keys): Likewise. * keymap.c (current_minor_maps, Fdescribe_buffer_bindings): Likewise. * lisp.h (STRING_COPYIN): Likewise. * lread.c (Fload, read1, oblookup): Likewise. * msdos.c (Frecent_doskeys): Likewise. * nsfns.m (Fx_create_frame): Likewise. * nsfont.m (nsfont_open, nsfont_text_extents, ns_glyph_metrics): Likewise. * nsimage.m (EmacsImage-initFromSkipXBM:width:height:) (EmacsImage-initForXPMWithDepth:width:height:flip:length:): Likewise. * nsmenu.m (ns_update_menubar): Likewise. * nsterm.m (ns_draw_fringe_bitmap, ns_term_init): Likewise. * print.c (print_unwind, printchar, strout, print_string) (print_error_message): Likewise. * process.c (conv_lisp_to_sockaddr, set_socket_option) (Fmake_network_process, Fnetwork_interface_list) (Fnetwork_interface_info, read_process_output, Fprocess_send_eof) (init_process): Likewise. * ralloc.c (resize_bloc, r_alloc_sbrk, r_alloc_init): Likewise. * regex.c (init_syntax_once, regex_compile, re_compile_fastmap): Likewise. * scroll.c (do_scrolling, do_direct_scrolling) (scrolling_max_lines_saved): Likewise. * search.c (search_buffer, wordify, Freplace_match): Likewise. * sound.c (wav_init, au_init, Fplay_sound_internal): Likewise. * syntax.c (skip_chars, skip_syntaxes): Likewise. * sysdep.c (child_setup_tty, sys_subshell, emacs_get_tty) (emacs_set_tty): Likewise. * term.c (encode_terminal_code, calculate_costs) (produce_special_glyphs, create_tty_output, init_tty, delete_tty): Likewise. * termcap.c (tgetst1, gobble_line): Likewise. * termhooks.h (EVENT_INIT): Likewise. * tparam.c (tparam1): Likewise. * unexalpha.c (unexec): Likewise. * unexec.c (write_segment): Likewise. * unexmacosx.c (unexec_write_zero): Likewise. * w32fns.c (w32_wnd_proc, Fx_create_frame, x_create_tip_frame) (Fx_file_dialog, Fsystem_move_file_to_trash): Likewise. * w32font.c (w32font_list_family, w32font_text_extents) (w32font_list_internal, w32font_match_internal) (w32font_open_internal, compute_metrics, Fx_select_font): Likewise. * w32menu.c (set_frame_menubar, add_menu_item) (w32_menu_display_help, w32_free_submenu_strings): Likewise. * w32term.c (XCreateGC, w32_initialize_display_info): Likewise. * w32uniscribe.c (uniscribe_list_family): Likewise. * w32xfns.c (get_next_msg, post_msg, prepend_msg): Likewise. * window.c (make_window, replace_window, set_window_buffer) (Fsplit_window): Likewise. * xdisp.c (init_iterator, RECORD_OVERLAY_STRING, reseat_to_string) (add_to_log, message3, x_consider_frame_title) (append_space_for_newline, extend_face_to_end_of_line) (decode_mode_spec_coding, init_glyph_string): Likewise. * xfaces.c (x_create_gc, get_lface_attributes_no_remap) (Finternal_copy_lisp_face, Finternal_merge_in_global_face) (face_attr_equal_p, make_realized_face, make_face_cache) (free_realized_faces, lookup_named_face, smaller_face) (face_with_height, lookup_derived_face) (x_supports_face_attributes_p, Finternal_set_font_selection_order) (Finternal_set_font_selection_order, realize_default_face) (compute_char_face, face_at_buffer_position) (face_for_overlay_string, face_at_string_position, merge_faces): Likewise. * xfns.c (xic_create_fontsetname, Fx_create_frame) (Fx_window_property, x_create_tip_frame) (Fx_backspace_delete_keys_p): Likewise. * xfont.c (xfont_list, xfont_match, xfont_list_family) (xfont_text_extents): Likewise. * xmenu.c (set_frame_menubar, xmenu_show): Likewise. * xrdb.c (magic_file_p, x_get_resource): Likewise. * xselect.c (x_queue_event, x_get_window_property) (receive_incremental_selection): Likewise. * xsmfns.c (x_session_check_input): Likewise. * xterm.c (x_send_scroll_bar_event, SET_SAVED_MENU_EVENT) (handle_one_xevent, x_check_errors, xim_initialize, x_term_init): Likewise. * character.h (BCOPY_SHORT): Removed. * config.in: Regenerate. * dispnew.c (safe_bcopy): Only define as dummy if PROFILING. * emacs.c (main) [PROFILING]: Don't declare dump_opcode_frequencies. * lisp.h (safe_bcopy): Remove declaration. (memset) [!HAVE_MEMSET]: Declare. (memcpy) [!HAVE_MEMCPY]: Likewise. (memmove) [!HAVE_MEMMOVE]: Likewise. (memcmp) [!HAVE_MEMCMP]: Likewise. * s/ms-w32.h (bzero, bcopy, bcmp, GAP_USE_BCOPY) (BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE, HAVE_BCOPY, HAVE_BCMP): Don't define. (HAVE_MEMCMP, HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET): Define. * s/msdos.h (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE) (BCOPY_DOWNWARD_SAFE): Don't define. * sysdep.c (memset) [!HAVE_MEMSET]: Define. (memcpy) [!HAVE_MEMCPY]: Define. (memmove) [!HAVE_MEMMOVE]: Define. (memcmp) [!HAVE_MEMCMP]: Define. * config.nt (HAVE_BCOPY, HAVE_BCMP): Remove undefs. (HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET, HAVE_MEMCMP): Add undefs. * sed2v2.inp (HAVE_MEMCPY, HAVE_MEMSET): Edit to 1. (HAVE_BZERO): Don't edit. * lwlib.c (lwlib_memset, lwlib_bcopy): Remove. (malloc_widget_value, free_widget_info, allocate_widget_instance) (lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by memset, memcpy, memcmp. * lwlib-utils.c (XtApplyToWidgets): Likewise. * xlwmenu.c (XlwMenuInitialize): Likewise. * lwlib.h (lwlib_bcopy): Remove declaration. * ebrowse.c (add_sym, make_namespace): Replace bcopy, bzero by memcpy, memmove, memset. * pop.c (pop_retrieve, socket_connection, pop_getline): Likewise. * CPP-DEFINES (BCOPY_DOWNWARD_SAFE, BCOPY_UPWARD_SAFE) (GAP_USE_BCOPY, HAVE_BCMP, HAVE_BCOPY, bcmp, bcopy, bzero): Remove. * configure.in: Don't check for bcopy, bcmp, bzero. Don't include <strings.h> and don't define bcopy, bzero, BCMP in config.h.
Diffstat (limited to 'src/ralloc.c')
-rw-r--r--src/ralloc.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/ralloc.c b/src/ralloc.c
index dd68e7c8afc..0a2b156e393 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -37,11 +37,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
37typedef POINTER_TYPE *POINTER; 37typedef POINTER_TYPE *POINTER;
38typedef size_t SIZE; 38typedef size_t SIZE;
39 39
40/* Declared in dispnew.c, this version doesn't screw up if regions
41 overlap. */
42
43extern void safe_bcopy (const char *, char *, int);
44
45#ifdef DOUG_LEA_MALLOC 40#ifdef DOUG_LEA_MALLOC
46#define M_TOP_PAD -2 41#define M_TOP_PAD -2
47extern int mallopt (int, int); 42extern int mallopt (int, int);
@@ -61,9 +56,6 @@ typedef void *POINTER;
61#include <unistd.h> 56#include <unistd.h>
62#include <malloc.h> 57#include <malloc.h>
63 58
64#define safe_bcopy(x, y, z) memmove (y, x, z)
65#define bzero(x, len) memset (x, 0, len)
66
67#endif /* not emacs */ 59#endif /* not emacs */
68 60
69 61
@@ -676,7 +668,7 @@ resize_bloc (bloc_ptr bloc, SIZE size)
676 } 668 }
677 else 669 else
678 { 670 {
679 safe_bcopy (b->data, b->new_data, b->size); 671 memmove (b->new_data, b->data, b->size);
680 *b->variable = b->data = b->new_data; 672 *b->variable = b->data = b->new_data;
681 } 673 }
682 } 674 }
@@ -687,8 +679,8 @@ resize_bloc (bloc_ptr bloc, SIZE size)
687 } 679 }
688 else 680 else
689 { 681 {
690 safe_bcopy (bloc->data, bloc->new_data, old_size); 682 memmove (bloc->new_data, bloc->data, old_size);
691 bzero ((char *) bloc->new_data + old_size, size - old_size); 683 memset (bloc->new_data + old_size, 0, size - old_size);
692 *bloc->variable = bloc->data = bloc->new_data; 684 *bloc->variable = bloc->data = bloc->new_data;
693 } 685 }
694 } 686 }
@@ -703,7 +695,7 @@ resize_bloc (bloc_ptr bloc, SIZE size)
703 } 695 }
704 else 696 else
705 { 697 {
706 safe_bcopy (b->data, b->new_data, b->size); 698 memmove (b->new_data, b->data, b->size);
707 *b->variable = b->data = b->new_data; 699 *b->variable = b->data = b->new_data;
708 } 700 }
709 } 701 }
@@ -856,7 +848,7 @@ r_alloc_sbrk (long int size)
856 header. */ 848 header. */
857 for (b = last_bloc; b != NIL_BLOC; b = b->prev) 849 for (b = last_bloc; b != NIL_BLOC; b = b->prev)
858 { 850 {
859 safe_bcopy (b->data, b->new_data, b->size); 851 memmove (b->new_data, b->data, b->size);
860 *b->variable = b->data = b->new_data; 852 *b->variable = b->data = b->new_data;
861 } 853 }
862 854
@@ -883,7 +875,7 @@ r_alloc_sbrk (long int size)
883 last_heap = first_heap; 875 last_heap = first_heap;
884 } 876 }
885 877
886 bzero (address, size); 878 memset (address, 0, size);
887 } 879 }
888 else /* size < 0 */ 880 else /* size < 0 */
889 { 881 {
@@ -902,7 +894,7 @@ r_alloc_sbrk (long int size)
902 894
903 for (b = first_bloc; b != NIL_BLOC; b = b->next) 895 for (b = first_bloc; b != NIL_BLOC; b = b->next)
904 { 896 {
905 safe_bcopy (b->data, b->new_data, b->size); 897 memmove (b->new_data, b->data, b->size);
906 *b->variable = b->data = b->new_data; 898 *b->variable = b->data = b->new_data;
907 } 899 }
908 } 900 }
@@ -1082,7 +1074,7 @@ r_alloc_thaw (void)
1082 abort (); 1074 abort ();
1083 1075
1084 /* This frees all unused blocs. It is not too inefficient, as the resize 1076 /* This frees all unused blocs. It is not too inefficient, as the resize
1085 and bcopy is done only once. Afterwards, all unreferenced blocs are 1077 and memcpy is done only once. Afterwards, all unreferenced blocs are
1086 already shrunk to zero size. */ 1078 already shrunk to zero size. */
1087 if (!r_alloc_freeze_level) 1079 if (!r_alloc_freeze_level)
1088 { 1080 {
@@ -1292,8 +1284,8 @@ r_alloc_init (void)
1292 even though it is after the sbrk value. */ 1284 even though it is after the sbrk value. */
1293 /* Doubly true, with the additional call that explicitly adds the 1285 /* Doubly true, with the additional call that explicitly adds the
1294 rest of that page to the address space. */ 1286 rest of that page to the address space. */
1295 bzero (first_heap->start, 1287 memset (first_heap->start, 0,
1296 (char *) first_heap->end - (char *) first_heap->start); 1288 (char *) first_heap->end - (char *) first_heap->start);
1297 virtual_break_value = break_value = first_heap->bloc_start = first_heap->end; 1289 virtual_break_value = break_value = first_heap->bloc_start = first_heap->end;
1298#endif 1290#endif
1299 1291