diff options
author | Kenichi Handa <handa@m17n.org> | 2004-04-16 12:51:06 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2004-04-16 12:51:06 +0000 |
commit | 6b61353c0a0320ee15bb6488149735381fed62ec (patch) | |
tree | e69adba60e504a5a37beb556ad70084de88a7aab /src/bytecode.c | |
parent | dc6a28319312fe81f7a1015e363174022313f0bd (diff) | |
download | emacs-6b61353c0a0320ee15bb6488149735381fed62ec.tar.gz |
Sync to HEAD
Diffstat (limited to 'src/bytecode.c')
-rw-r--r-- | src/bytecode.c | 32 |
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) */ |