diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/alloc.c b/src/alloc.c index 5230b5a7a82..c42453d9062 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -4087,7 +4087,6 @@ Garbage collection happens automatically if you cons more than | |||
| 4087 | `gc-cons-threshold' bytes of Lisp data since previous garbage collection. */) | 4087 | `gc-cons-threshold' bytes of Lisp data since previous garbage collection. */) |
| 4088 | () | 4088 | () |
| 4089 | { | 4089 | { |
| 4090 | register struct gcpro *tail; | ||
| 4091 | register struct specbinding *bind; | 4090 | register struct specbinding *bind; |
| 4092 | struct catchtag *catch; | 4091 | struct catchtag *catch; |
| 4093 | struct handler *handler; | 4092 | struct handler *handler; |
| @@ -4201,15 +4200,18 @@ Garbage collection happens automatically if you cons more than | |||
| 4201 | || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS) | 4200 | || GC_MARK_STACK == GC_MARK_STACK_CHECK_GCPROS) |
| 4202 | mark_stack (); | 4201 | mark_stack (); |
| 4203 | #else | 4202 | #else |
| 4204 | for (tail = gcprolist; tail; tail = tail->next) | 4203 | { |
| 4205 | for (i = 0; i < tail->nvars; i++) | 4204 | register struct gcpro *tail; |
| 4206 | if (!XMARKBIT (tail->var[i])) | 4205 | for (tail = gcprolist; tail; tail = tail->next) |
| 4207 | { | 4206 | for (i = 0; i < tail->nvars; i++) |
| 4208 | /* Explicit casting prevents compiler warning about | 4207 | if (!XMARKBIT (tail->var[i])) |
| 4209 | discarding the `volatile' qualifier. */ | 4208 | { |
| 4210 | mark_object ((Lisp_Object *)&tail->var[i]); | 4209 | /* Explicit casting prevents compiler warning about |
| 4211 | XMARK (tail->var[i]); | 4210 | discarding the `volatile' qualifier. */ |
| 4212 | } | 4211 | mark_object ((Lisp_Object *)&tail->var[i]); |
| 4212 | XMARK (tail->var[i]); | ||
| 4213 | } | ||
| 4214 | } | ||
| 4213 | #endif | 4215 | #endif |
| 4214 | 4216 | ||
| 4215 | mark_byte_stack (); | 4217 | mark_byte_stack (); |