* src/bytecode.c (struct byte_stack): Remove `constants' when unused.

This commit is contained in:
Stefan Monnier
2013-03-10 17:46:55 -04:00
parent d3e9f3a843
commit 99ec16475a
2 changed files with 17 additions and 9 deletions

View File

@@ -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);