aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2003-09-11 21:58:32 +0000
committerStefan Monnier <[email protected]>2003-09-11 21:58:32 +0000
commit2a1c1d7150e64c0c05a1d1e17b288091cbd98011 (patch)
treea594ed3c24431858bde482c449ff42d6145e16b2 /src
parent9f7b135da746000dd278489340bd3fccef81e797 (diff)
(mark_byte_stack, unmark_byte_stack): Ignore the markbit.
Diffstat (limited to 'src')
-rw-r--r--src/bytecode.c29
1 files changed, 4 insertions, 25 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index a4ade9650e..a13ecc1977 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -286,27 +286,13 @@ mark_byte_stack ()
The culprit is found in the frame of Fbyte_code where the
address of its local variable `stack' is equal to the
recorded value of `stack' here. */
- if (!stack->top)
- abort ();
+ eassert (stack->top);
for (obj = stack->bottom; obj <= stack->top; ++obj)
- if (!XMARKBIT (*obj))
- {
- mark_object (*obj);
- XMARK (*obj);
- }
-
- if (!XMARKBIT (stack->byte_string))
- {
- mark_object (stack->byte_string);
- XMARK (stack->byte_string);
- }
+ mark_object (*obj);
- if (!XMARKBIT (stack->constants))
- {
- mark_object (stack->constants);
- XMARK (stack->constants);
- }
+ mark_object (stack->byte_string);
+ mark_object (stack->constants);
}
}
@@ -318,16 +304,9 @@ void
unmark_byte_stack ()
{
struct byte_stack *stack;
- Lisp_Object *obj;
for (stack = byte_stack_list; stack; stack = stack->next)
{
- for (obj = stack->bottom; obj <= stack->top; ++obj)
- XUNMARK (*obj);
-
- XUNMARK (stack->byte_string);
- XUNMARK (stack->constants);
-
if (stack->byte_string_start != SDATA (stack->byte_string))
{
int offset = stack->pc - stack->byte_string_start;