1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 11:50:51 -08:00

Revert "build_marker histogram"

This reverts commit dc3e5cbe5b.
This commit is contained in:
Gerd Möllmann 2024-06-30 14:11:37 +02:00
parent 0845fd30eb
commit 3774eda584
8 changed files with 23 additions and 37 deletions

View file

@ -4167,14 +4167,11 @@ DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0,
/* Return a newly allocated marker which points into BUF
at character position CHARPOS and byte position BYTEPOS. */
static int build_marker_counts[100] = {0};
Lisp_Object
build_marker (struct buffer *buf, ptrdiff_t charpos, ptrdiff_t bytepos, int where)
build_marker (struct buffer *buf, ptrdiff_t charpos, ptrdiff_t bytepos)
{
/* No dead buffers here. */
eassert (BUFFER_LIVE_P (buf));
build_marker_counts[where] += 1;
/* Every character is at least one byte. */
eassert (charpos <= bytepos);
@ -4374,16 +4371,6 @@ FUNCTION. FUNCTION will be run once per finalizer object. */)
return make_lisp_ptr (finalizer, Lisp_Vectorlike);
}
DEFUN ("build-marker-counts", Fbuild_marker_counts, Sbuild_marker_counts, 0, 0,
0, doc: /* */)
(void)
{
Lisp_Object v = Fmake_vector (make_fixnum (30), Qnil);
for (int i = 0; i < 30; ++i)
ASET (v, i, make_int (build_marker_counts[i]));
return v;
}
/************************************************************************
Mark bit access functions
@ -8568,8 +8555,7 @@ N should be nonnegative. */);
defsubr (&Sgarbage_collect_maybe);
defsubr (&Smemory_info);
defsubr (&Smemory_use_counts);
defsubr (&Sbuild_marker_counts);
#if defined GNU_LINUX && defined __GLIBC__ && \
#if defined GNU_LINUX && defined __GLIBC__ && \
(__GLIBC__ > 2 || __GLIBC_MINOR__ >= 10)
defsubr (&Smalloc_info);

View file

@ -736,7 +736,7 @@ clone_per_buffer_values (struct buffer *from, struct buffer *to)
{
struct Lisp_Marker *m = XMARKER (obj);
obj = build_marker (to, m->charpos, m->bytepos, 9);
obj = build_marker (to, m->charpos, m->bytepos);
XMARKER (obj)->insertion_type = m->insertion_type;
}
@ -902,15 +902,15 @@ Interactively, CLONE and INHIBIT-BUFFER-HOOKS are nil. */)
bset_pt_marker (b->base_buffer,
build_marker (b->base_buffer, b->base_buffer->pt,
b->base_buffer->pt_byte, 13));
b->base_buffer->pt_byte));
bset_begv_marker (b->base_buffer,
build_marker (b->base_buffer, b->base_buffer->begv,
b->base_buffer->begv_byte, 14));
b->base_buffer->begv_byte));
bset_zv_marker (b->base_buffer,
build_marker (b->base_buffer, b->base_buffer->zv,
b->base_buffer->zv_byte, 15));
b->base_buffer->zv_byte));
XMARKER (BVAR (b->base_buffer, zv_marker))->insertion_type = 1;
}
@ -918,9 +918,9 @@ Interactively, CLONE and INHIBIT-BUFFER-HOOKS are nil. */)
if (NILP (clone))
{
/* Give the indirect buffer markers for its narrowing. */
bset_pt_marker (b, build_marker (b, b->pt, b->pt_byte, 17));
bset_begv_marker (b, build_marker (b, b->begv, b->begv_byte, 18));
bset_zv_marker (b, build_marker (b, b->zv, b->zv_byte, 19));
bset_pt_marker (b, build_marker (b, b->pt, b->pt_byte));
bset_begv_marker (b, build_marker (b, b->begv, b->begv_byte));
bset_zv_marker (b, build_marker (b, b->zv, b->zv_byte));
XMARKER (BVAR (b, zv_marker))->insertion_type = 1;
}
else

View file

@ -982,7 +982,7 @@ autocmp_chars (Lisp_Object rule, ptrdiff_t charpos, ptrdiff_t bytepos,
/* Save point as marker before calling out to lisp. */
if (NILP (string))
record_unwind_protect (restore_point_unwind,
build_marker (current_buffer, pt, pt_byte, 8));
build_marker (current_buffer, pt, pt_byte));
lgstring = safe_calln (Vauto_composition_function, AREF (rule, 2),
pos, make_fixnum (to), font_object, string,
direction);

View file

@ -199,7 +199,7 @@ DEFUN ("point-marker", Fpoint_marker, Spoint_marker, 0, 0, 0,
doc: /* Return value of point, as a marker object. */)
(void)
{
return build_marker (current_buffer, PT, PT_BYTE, 10);
return build_marker (current_buffer, PT, PT_BYTE);
}
DEFUN ("goto-char", Fgoto_char, Sgoto_char, 1, 1,
@ -889,7 +889,7 @@ DEFUN ("point-min-marker", Fpoint_min_marker, Spoint_min_marker, 0, 0, 0,
This is the beginning, unless narrowing (a buffer restriction) is in effect. */)
(void)
{
return build_marker (current_buffer, BEGV, BEGV_BYTE, 11);
return build_marker (current_buffer, BEGV, BEGV_BYTE);
}
DEFUN ("point-max", Fpoint_max, Spoint_max, 0, 0, 0,
@ -909,7 +909,7 @@ This is (1+ (buffer-size)), unless narrowing (a buffer restriction)
is in effect, in which case it is less. */)
(void)
{
return build_marker (current_buffer, ZV, ZV_BYTE, 12);
return build_marker (current_buffer, ZV, ZV_BYTE);
}
DEFUN ("gap-position", Fgap_position, Sgap_position, 0, 0, 0,
@ -3009,8 +3009,8 @@ save_restriction_save_1 (void)
{
Lisp_Object beg, end;
beg = build_marker (current_buffer, BEGV, BEGV_BYTE, 20);
end = build_marker (current_buffer, ZV, ZV_BYTE, 21);
beg = build_marker (current_buffer, BEGV, BEGV_BYTE);
end = build_marker (current_buffer, ZV, ZV_BYTE);
/* END must move forward if text is inserted at its exact location. */
XMARKER (end)->insertion_type = 1;

View file

@ -5152,7 +5152,7 @@ extern Lisp_Object set_marker_restricted (Lisp_Object, Lisp_Object, Lisp_Object)
extern Lisp_Object set_marker_both (Lisp_Object, Lisp_Object, ptrdiff_t, ptrdiff_t);
extern Lisp_Object set_marker_restricted_both (Lisp_Object, Lisp_Object,
ptrdiff_t, ptrdiff_t);
extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t, int);
extern Lisp_Object build_marker (struct buffer *, ptrdiff_t, ptrdiff_t);
extern void syms_of_marker (void);
/* Defined in fileio.c. */

View file

@ -236,7 +236,7 @@ buf_charpos_to_bytepos (struct buffer *b, ptrdiff_t charpos)
cache the correspondence by creating a marker here.
It will last until the next GC. */
if (record)
build_marker (b, best_below, best_below_byte, 4);
build_marker (b, best_below, best_below_byte);
byte_char_debug_check (b, best_below, best_below_byte);
@ -261,7 +261,7 @@ buf_charpos_to_bytepos (struct buffer *b, ptrdiff_t charpos)
cache the correspondence by creating a marker here.
It will last until the next GC. */
if (record)
build_marker (b, best_above, best_above_byte, 5);
build_marker (b, best_above, best_above_byte);
byte_char_debug_check (b, best_above, best_above_byte);
@ -389,7 +389,7 @@ buf_bytepos_to_charpos (struct buffer *b, ptrdiff_t bytepos)
But don't do it if BUF_MARKERS is nil;
that is a signal from Fset_buffer_multibyte. */
if (record && BUF_MARKERS (b))
build_marker (b, best_below, best_below_byte, 6);
build_marker (b, best_below, best_below_byte);
byte_char_debug_check (b, best_below, best_below_byte);
@ -417,10 +417,10 @@ buf_bytepos_to_charpos (struct buffer *b, ptrdiff_t bytepos)
that is a signal from Fset_buffer_multibyte. */
#ifdef HAVE_MPS
if (record && VECTORP (BUF_MARKERS (b)))
build_marker (b, best_above, best_above_byte, 7);
build_marker (b, best_above, best_above_byte);
#else
if (record && BUF_MARKERS (b))
build_marker (b, best_above, best_above_byte, 7);
build_marker (b, best_above, best_above_byte);
#endif
byte_char_debug_check (b, best_above, best_above_byte);

View file

@ -7774,7 +7774,7 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, ptrdiff_t i)
if (EQ (window, selected_window))
p->pointm = build_marker (XBUFFER (w->contents),
BUF_PT (XBUFFER (w->contents)),
BUF_PT_BYTE (XBUFFER (w->contents)), 1);
BUF_PT_BYTE (XBUFFER (w->contents)));
else
p->pointm = Fcopy_marker (w->pointm, Qnil);
p->old_pointm = Fcopy_marker (w->old_pointm, Qnil);

View file

@ -13621,7 +13621,7 @@ format_mode_line_unwind_data (struct frame *target_frame,
unwinding (Bug#32777). */
ASET (vector, 10, buffer);
current_buffer = b;
ASET (vector, 11, build_marker (current_buffer, PT, PT_BYTE, 2));
ASET (vector, 11, build_marker (current_buffer, PT, PT_BYTE));
current_buffer = cb;
}