summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-03-10 17:46:55 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-03-10 17:46:55 -0400
commit99ec16475a6d1bbe3b308f89e45afb0096e02f0e (patch)
tree1fac97bf5941de5d6934febe7c446624a2c86f1b
parentd3e9f3a8431d8d3e132b19f9b5181e8afed2d1db (diff)
downloademacs-99ec16475a6d1bbe3b308f89e45afb0096e02f0e.tar.gz
* src/bytecode.c (struct byte_stack): Remove `constants' when unused.
-rw-r--r--src/ChangeLog16
-rw-r--r--src/bytecode.c10
2 files changed, 17 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b58bbc0a525..044bd5fa245 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,14 +1,18 @@
+2013-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * bytecode.c (struct byte_stack): Remove `constants' when unused.
+
2013-03-10 Eli Zaretskii <eliz@gnu.org>
* 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 bd8abe85e04..628c4d90cf3 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);