aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorDmitry Antipov2012-08-01 12:49:28 +0400
committerDmitry Antipov2012-08-01 12:49:28 +0400
commitd8a05828fd9f78c6cadddd8b47b53d83833c3917 (patch)
treee79a8e7e0a0abc277d5f928835abb0b64d7dcae7 /src/alloc.c
parent015a2738eb575f9dc07ea5e589eb88c8e071930a (diff)
downloademacs-d8a05828fd9f78c6cadddd8b47b53d83833c3917.tar.gz
emacs-d8a05828fd9f78c6cadddd8b47b53d83833c3917.zip
Use INTERNAL_FIELD for conses and overlays.
* src/lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD. Remove obsolete comment. (MVAR): New macro. (struct Lisp_Overlay): Use INTERNAL_FIELD. * src/alloc.c, src/buffer.c, src/buffer.h, src/fns.c: Adjust users. * admin/coccinelle/overlay.cocci: Semantic patch to replace direct access to Lisp_Object members of struct Lisp_Overlay to MVAR.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 8207f022a12..2d5149a6772 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2686,7 +2686,7 @@ free_cons (struct Lisp_Cons *ptr)
2686{ 2686{
2687 ptr->u.chain = cons_free_list; 2687 ptr->u.chain = cons_free_list;
2688#if GC_MARK_STACK 2688#if GC_MARK_STACK
2689 ptr->car = Vdead; 2689 CVAR (ptr, car) = Vdead;
2690#endif 2690#endif
2691 cons_free_list = ptr; 2691 cons_free_list = ptr;
2692 consing_since_gc -= sizeof *ptr; 2692 consing_since_gc -= sizeof *ptr;
@@ -4295,7 +4295,7 @@ live_cons_p (struct mem_node *m, void *p)
4295 && offset < (CONS_BLOCK_SIZE * sizeof b->conses[0]) 4295 && offset < (CONS_BLOCK_SIZE * sizeof b->conses[0])
4296 && (b != cons_block 4296 && (b != cons_block
4297 || offset / sizeof b->conses[0] < cons_block_index) 4297 || offset / sizeof b->conses[0] < cons_block_index)
4298 && !EQ (((struct Lisp_Cons *) p)->car, Vdead)); 4298 && !EQ (CVAR ((struct Lisp_Cons *) p, car), Vdead));
4299 } 4299 }
4300 else 4300 else
4301 return 0; 4301 return 0;
@@ -5837,9 +5837,9 @@ mark_overlay (struct Lisp_Overlay *ptr)
5837 for (; ptr && !ptr->gcmarkbit; ptr = ptr->next) 5837 for (; ptr && !ptr->gcmarkbit; ptr = ptr->next)
5838 { 5838 {
5839 ptr->gcmarkbit = 1; 5839 ptr->gcmarkbit = 1;
5840 mark_object (ptr->start); 5840 mark_object (MVAR (ptr, start));
5841 mark_object (ptr->end); 5841 mark_object (MVAR (ptr, end));
5842 mark_object (ptr->plist); 5842 mark_object (MVAR (ptr, plist));
5843 } 5843 }
5844} 5844}
5845 5845
@@ -6169,14 +6169,14 @@ mark_object (Lisp_Object arg)
6169 CHECK_ALLOCATED_AND_LIVE (live_cons_p); 6169 CHECK_ALLOCATED_AND_LIVE (live_cons_p);
6170 CONS_MARK (ptr); 6170 CONS_MARK (ptr);
6171 /* If the cdr is nil, avoid recursion for the car. */ 6171 /* If the cdr is nil, avoid recursion for the car. */
6172 if (EQ (ptr->u.cdr, Qnil)) 6172 if (EQ (CVAR (ptr, u.cdr), Qnil))
6173 { 6173 {
6174 obj = ptr->car; 6174 obj = CVAR (ptr, car);
6175 cdr_count = 0; 6175 cdr_count = 0;
6176 goto loop; 6176 goto loop;
6177 } 6177 }
6178 mark_object (ptr->car); 6178 mark_object (CVAR (ptr, car));
6179 obj = ptr->u.cdr; 6179 obj = CVAR (ptr, u.cdr);
6180 cdr_count++; 6180 cdr_count++;
6181 if (cdr_count == mark_object_loop_halt) 6181 if (cdr_count == mark_object_loop_halt)
6182 abort (); 6182 abort ();
@@ -6325,7 +6325,7 @@ gc_sweep (void)
6325 cblk->conses[pos].u.chain = cons_free_list; 6325 cblk->conses[pos].u.chain = cons_free_list;
6326 cons_free_list = &cblk->conses[pos]; 6326 cons_free_list = &cblk->conses[pos];
6327#if GC_MARK_STACK 6327#if GC_MARK_STACK
6328 cons_free_list->car = Vdead; 6328 CVAR (cons_free_list, car) = Vdead;
6329#endif 6329#endif
6330 } 6330 }
6331 else 6331 else