summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2004-04-16 12:51:06 +0000
committerKenichi Handa <handa@m17n.org>2004-04-16 12:51:06 +0000
commit63bf36d38628b8adf2a1003279af0807cf692ded (patch)
treedaa5938d31f9f2f956f5d8c509fbe55df4244462 /src/bytecode.c
parent9cf9517f0baf5835f64351973ce46d48e7f05a37 (diff)
downloademacs-63bf36d38628b8adf2a1003279af0807cf692ded.tar.gz
Sync to HEAD
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c32
1 files changed, 7 insertions, 25 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index f3a07dced35..659f79bca08 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);
- }
+ mark_object (*obj);
- if (!XMARKBIT (stack->byte_string))
- {
- mark_object (stack->byte_string);
- XMARK (stack->byte_string);
- }
-
- 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;
@@ -1782,3 +1761,6 @@ integer, it is incremented each time that symbol's function is called. */);
}
#endif
}
+
+/* arch-tag: b9803b6f-1ed6-4190-8adf-33fd3a9d10e9
+ (do not change this comment) */