diff options
| author | Kenichi Handa | 2004-04-16 12:51:06 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2004-04-16 12:51:06 +0000 |
| commit | 6b61353c0a0320ee15bb6488149735381fed62ec (patch) | |
| tree | e69adba60e504a5a37beb556ad70084de88a7aab /src/bytecode.c | |
| parent | dc6a28319312fe81f7a1015e363174022313f0bd (diff) | |
| download | emacs-6b61353c0a0320ee15bb6488149735381fed62ec.tar.gz emacs-6b61353c0a0320ee15bb6488149735381fed62ec.zip | |
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 () | |||
| 286 | The culprit is found in the frame of Fbyte_code where the | 286 | The culprit is found in the frame of Fbyte_code where the |
| 287 | address of its local variable `stack' is equal to the | 287 | address of its local variable `stack' is equal to the |
| 288 | recorded value of `stack' here. */ | 288 | recorded value of `stack' here. */ |
| 289 | if (!stack->top) | 289 | eassert (stack->top); |
| 290 | abort (); | ||
| 291 | 290 | ||
| 292 | for (obj = stack->bottom; obj <= stack->top; ++obj) | 291 | for (obj = stack->bottom; obj <= stack->top; ++obj) |
| 293 | if (!XMARKBIT (*obj)) | 292 | mark_object (*obj); |
| 294 | { | ||
| 295 | mark_object (*obj); | ||
| 296 | XMARK (*obj); | ||
| 297 | } | ||
| 298 | 293 | ||
| 299 | if (!XMARKBIT (stack->byte_string)) | 294 | mark_object (stack->byte_string); |
| 300 | { | 295 | mark_object (stack->constants); |
| 301 | mark_object (stack->byte_string); | ||
| 302 | XMARK (stack->byte_string); | ||
| 303 | } | ||
| 304 | |||
| 305 | if (!XMARKBIT (stack->constants)) | ||
| 306 | { | ||
| 307 | mark_object (stack->constants); | ||
| 308 | XMARK (stack->constants); | ||
| 309 | } | ||
| 310 | } | 296 | } |
| 311 | } | 297 | } |
| 312 | 298 | ||
| @@ -318,16 +304,9 @@ void | |||
| 318 | unmark_byte_stack () | 304 | unmark_byte_stack () |
| 319 | { | 305 | { |
| 320 | struct byte_stack *stack; | 306 | struct byte_stack *stack; |
| 321 | Lisp_Object *obj; | ||
| 322 | 307 | ||
| 323 | for (stack = byte_stack_list; stack; stack = stack->next) | 308 | for (stack = byte_stack_list; stack; stack = stack->next) |
| 324 | { | 309 | { |
| 325 | for (obj = stack->bottom; obj <= stack->top; ++obj) | ||
| 326 | XUNMARK (*obj); | ||
| 327 | |||
| 328 | XUNMARK (stack->byte_string); | ||
| 329 | XUNMARK (stack->constants); | ||
| 330 | |||
| 331 | if (stack->byte_string_start != SDATA (stack->byte_string)) | 310 | if (stack->byte_string_start != SDATA (stack->byte_string)) |
| 332 | { | 311 | { |
| 333 | int offset = stack->pc - stack->byte_string_start; | 312 | int offset = stack->pc - stack->byte_string_start; |
| @@ -1782,3 +1761,6 @@ integer, it is incremented each time that symbol's function is called. */); | |||
| 1782 | } | 1761 | } |
| 1783 | #endif | 1762 | #endif |
| 1784 | } | 1763 | } |
| 1764 | |||
| 1765 | /* arch-tag: b9803b6f-1ed6-4190-8adf-33fd3a9d10e9 | ||
| 1766 | (do not change this comment) */ | ||