From 99ec16475a6d1bbe3b308f89e45afb0096e02f0e Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 10 Mar 2013 17:46:55 -0400 Subject: [PATCH] * src/bytecode.c (struct byte_stack): Remove `constants' when unused. --- src/ChangeLog | 16 ++++++++++------ src/bytecode.c | 10 +++++++--- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index b58bbc0a52..044bd5fa24 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,14 +1,18 @@ +2013-03-10 Stefan Monnier + + * bytecode.c (struct byte_stack): Remove `constants' when unused. + 2013-03-10 Eli Zaretskii * xdisp.c (display_tool_bar_line, redisplay_tool_bar) (redisplay_internal, set_cursor_from_row, try_window) (try_window_id, dump_glyph_row, extend_face_to_end_of_line) (display_line, notice_overwritten_cursor) - (mouse_face_from_buffer_pos, note_mouse_highlight): Use - MATRIX_ROW_DISPLAYS_TEXT_P. + (mouse_face_from_buffer_pos, note_mouse_highlight): + Use MATRIX_ROW_DISPLAYS_TEXT_P. (note_mouse_highlight): Use MATRIX_ROW_GLYPH_START. - (mouse_face_from_string_pos, fast_find_string_pos): Use - MATRIX_ROW_VPOS. + (mouse_face_from_string_pos, fast_find_string_pos): + Use MATRIX_ROW_VPOS. * xfns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P. @@ -25,8 +29,8 @@ * coding.c (detect_coding): Cound the heading ASCII bytes in the case of detection for coding_category_utf_8_auto. - (decode_coding_gap) [not CODING_DISABLE_ASCII_OPTIMIZATION]: Skip - decoding if all bytes are ASCII. + (decode_coding_gap) [not CODING_DISABLE_ASCII_OPTIMIZATION]: + Skip decoding if all bytes are ASCII. * insdel.c (adjust_after_replace): Make it public. New arg text_at_gap_tail. diff --git a/src/bytecode.c b/src/bytecode.c index bd8abe85e0..628c4d90cf 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -313,9 +313,11 @@ struct byte_stack Lisp_Object byte_string; const unsigned char *byte_string_start; +#if BYTE_MARK_STACK /* The vector of constants used during byte-code execution. Storing this here protects it from GC because mark_byte_stack marks it. */ Lisp_Object constants; +#endif /* Next entry in byte_stack_list. */ struct byte_stack *next; @@ -379,12 +381,12 @@ unmark_byte_stack (void) } -/* Fetch the next byte from the bytecode stream */ +/* Fetch the next byte from the bytecode stream. */ #define FETCH *stack.pc++ /* Fetch two bytes from the bytecode stream and make a 16-bit number - out of them */ + out of them. */ #define FETCH2 (op = FETCH, op + (FETCH << 8)) @@ -404,7 +406,7 @@ unmark_byte_stack (void) #define DISCARD(n) (top -= (n)) /* Get the value which is at the top of the execution stack, but don't - pop it. */ + pop it. */ #define TOP (*top) @@ -535,7 +537,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, stack.byte_string = bytestr; stack.pc = stack.byte_string_start = SDATA (bytestr); +#if BYTE_MARK_STACK stack.constants = vector; +#endif if (MAX_ALLOCA / word_size <= XFASTINT (maxdepth)) memory_full (SIZE_MAX); top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top); -- 2.20.1