Rewrite sampler to use Elisp hash-tables.
[bpt/emacs.git] / src / ChangeLog
index bc18c0e..1b90ae8 100644 (file)
@@ -1,3 +1,133 @@
+2012-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * xdisp.c (Qautomatic_redisplay): New constant.
+       (redisplay_internal): Record itself in backtrace_list.
+       (syms_of_xdisp): Define Qautomatic_redisplay.
+
+       * profiler.c: Remove filtering functionality.
+       (is_in_trace, Qgc): Remove vars.
+       (make_log, record_backtrace, Fsample_profiler_log):
+       Rewrite, using Elisp hash-tables.
+       (approximate_median, evict_lower_half): New functions.
+       (cpu_log): Rename from sample_log.
+       (cpu_gc_count): New var.
+       (Fsample_profiler_reset, Fmemory_profiler_reset): Remove.
+       (sigprof_handler): Add count to cpu_gc_count during GC, detected via
+       backtrace_list.
+       (block_sigprof, unblock_sigprof): Remove.
+       (gc_probe, mark_profiler): Remove functions.
+       (syms_of_profiler): Staticpro cpu_log and memory_log.
+
+       * lisp.h (SXHASH_COMBINE): Move back to...
+       * fns.c (SXHASH_COMBINE): ...here.
+
+       * alloc.c (Fgarbage_collect): Record itself in backtrace_list.
+       Don't set is_in_trace any more.  Don't call mark_profiler.
+       Only call gc_probe for the memory profiler.
+       (syms_of_alloc): Define Qautomatic_gc.
+
+2012-09-15  Tomohiro Matsuyama  <tomo@cx4a.org>
+
+       * alloc.c (emacs_blocked_malloc): Remove redundant MALLOC_PROBE.
+
+2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c: Use bool for booleans.
+       (gc_in_progress, abort_on_gc)
+       (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
+       (dont_register_blocks) [GC_MALLOC_CHECK]:
+       (suppress_checking) [ENABLE_CHECKING]: Now bool, not int.
+       (check_string_bytes, make_specified_string, memory_full)
+       (live_string_p, live_cons_p, live_symbol_p, live_float_p)
+       (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object)
+       (mark_stack, valid_pointer_p, make_pure_string)
+       (Fgarbage_collect, survives_gc_p, gc_sweep):
+       Use bool for booleans, instead of int.
+       (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
+       Remove unused local.
+       * alloc.c (PURE_POINTER_P):
+       * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean.
+       * editfns.c (Fformat):
+       * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name)
+       (Fdo_auto_save):
+       * fns.c (sweep_weak_table):
+       * lisp.h (suppress_checking, push_message, survives_gc_p)
+       (make_pure_string, gc_in_progress, abort_on_gc):
+       * lread.c (readchar, read1):
+       * print.c (Fprin1_to_string):
+       * xdisp.c (push_message):
+       Use bool for booleans affected directly or indirectly by
+       alloc.c's changes.
+
+       Make recently-introduced setters macros.
+       * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii)
+       (set_fontset_base, set_fontset_frame, set_fontset_nofont_face)
+       (set_fontset_default, set_fontset_fallback): Rename from their
+       upper-case counterparts, and make them functions rather than macros.
+       This is more consistent with the other recently-introduced setters.
+       These don't need to be inline, since they're local.
+
+2012-08-21  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in
+       the loop (Bug#12247).
+
+2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (vcopy): Use memcpy rather than our own loop.
+       This fixes a performance regression introduced by the recent
+       addition of vcopy.  This means 'vcopy' will need to be modified
+       for a copying collector, but that's OK.  Also, tighten the
+       checking in the assertion.
+
+2012-08-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32uniscribe.c (uniscribe_shape): Fix producing gstring
+       components for RTL text (Bug#11860).  Adjust X-OFFSET of each
+       non-base glyph for the width of the base character, according to
+       what x_draw_composite_glyph_string_foreground expects.  Generate
+       WADJUST value according to composition_gstring_width's
+       expectations, to produce correct width of the composed character.
+       Reverse the sign of the DU offset produced by ScriptPlace.
+
+2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * dbusbind.c (xd_remove_watch): Do not assume C99 comments.
+
+2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Avoid direct writes to contents member of struct Lisp_Vector.
+       * lisp.h (vcopy): New function to copy data into vector.
+       * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET.
+       * fns.c (Ffillarray): Use ASET.
+       * keyboard.c (timer_check_2): Use AREF and ASET.
+       (append_tool_bar_item, Frecent_keys): Use vcopy.
+       * lread.c (read_vector): Use ASET.
+       * msdos.c (Frecent_doskeys): Use vcopy.
+       * xface.c (Finternal_copy_lisp_face): Use vcopy.
+       (Finternal_merge_in_global_face): Use ASET and vcopy.
+       * xfont.c (xfont_list_pattern): Likewise.
+
+2012-08-21  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fwindow_point): For the selected window always return
+       the position of its buffer's point.
+       (Fset_window_point): For the selected window always go in its
+       buffer to the specified position.
+
+2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Setter macros for fontsets.
+       * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII)
+       (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE)
+       (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros.
+       Adjust users.
+
+2012-08-20  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
+       Don't assume that `ln -f' works.
+
 2012-08-20  Eli Zaretskii  <eliz@gnu.org>
 
        * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5