Move containing_scm arg from gdbscm_fill_eqable_gsmob_ptr_slot
authorDoug Evans <xdje42@gmail.com>
Thu, 20 Feb 2014 17:27:12 +0000 (09:27 -0800)
committerDoug Evans <xdje42@gmail.com>
Thu, 20 Feb 2014 17:27:12 +0000 (09:27 -0800)
to gdbscm_init_eqable_gsmob.

* guile/scm-gsmob.c (gdbscm_init_eqable_gsmob): New arg containing_scm.
All callers updated.
(gdbscm_fill_eqable_gsmob_ptr_slot): Delete arg containing_scm.
All callers updated.
* guile/guile-internal.h (gdbscm_init_eqable_gsmob): Update.
(gdbscm_fill_eqable_gsmob_ptr_slot): Update.

gdb/ChangeLog
gdb/guile/guile-internal.h
gdb/guile/scm-block.c
gdb/guile/scm-frame.c
gdb/guile/scm-gsmob.c
gdb/guile/scm-symbol.c
gdb/guile/scm-symtab.c
gdb/guile/scm-type.c

index 40b6055914145fd52a45b49b34a663bde18547d3..56202695fefa290984f329f1da71a8758d6d2a41 100644 (file)
@@ -1,3 +1,12 @@
+2014-02-20  Doug Evans  <xdje42@gmail.com>
+
+       * guile/scm-gsmob.c (gdbscm_init_eqable_gsmob): New arg containing_scm.
+       All callers updated.
+       (gdbscm_fill_eqable_gsmob_ptr_slot): Delete arg containing_scm.
+       All callers updated.
+       * guile/guile-internal.h (gdbscm_init_eqable_gsmob): Update.
+       (gdbscm_fill_eqable_gsmob_ptr_slot): Update.
+
 2014-02-20  lin zuojian  <manjian2006@gmail.com>
            Joel Brobecker  <brobecker@adacore.com>
            Doug Evans  <xdje42@gmail.com>
index dcdd422000dd7fc432a388e18e842a9a77de44cc..f95f0920283b58d2c8eb407805f8841a93f13c81 100644 (file)
@@ -219,7 +219,8 @@ extern void gdbscm_init_gsmob (gdb_smob *base);
 
 extern void gdbscm_init_chained_gsmob (chained_gdb_smob *base);
 
-extern void gdbscm_init_eqable_gsmob (eqable_gdb_smob *base);
+extern void gdbscm_init_eqable_gsmob (eqable_gdb_smob *base,
+                                     SCM containing_scm);
 
 extern SCM gdbscm_mark_gsmob (gdb_smob *base);
 
@@ -242,8 +243,7 @@ extern eqable_gdb_smob **gdbscm_find_eqable_gsmob_ptr_slot
   (htab_t htab, eqable_gdb_smob *base);
 
 extern void gdbscm_fill_eqable_gsmob_ptr_slot (eqable_gdb_smob **slot,
-                                              eqable_gdb_smob *base,
-                                              SCM containing_scm);
+                                              eqable_gdb_smob *base);
 
 extern void gdbscm_clear_eqable_gsmob_ptr_slot (htab_t htab,
                                                eqable_gdb_smob *base);
index de41af210967d1c949b407b0a4352a7ec2cf6701..4e1748ea51b51df9d9c1b8aed552f1c589b02411 100644 (file)
@@ -193,7 +193,7 @@ bkscm_make_block_smob (void)
   b_smob->block = NULL;
   b_smob->objfile = NULL;
   b_scm = scm_new_smob (block_smob_tag, (scm_t_bits) b_smob);
-  gdbscm_init_eqable_gsmob (&b_smob->base);
+  gdbscm_init_eqable_gsmob (&b_smob->base, b_scm);
 
   return b_scm;
 }
@@ -237,7 +237,7 @@ bkscm_scm_from_block (const struct block *block, struct objfile *objfile)
   b_smob = (block_smob *) SCM_SMOB_DATA (b_scm);
   b_smob->block = block;
   b_smob->objfile = objfile;
-  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &b_smob->base, b_scm);
+  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &b_smob->base);
 
   return b_scm;
 }
index a46d1e3298634938f896350258f4a301dff11329..6031a7ff342802c616568ce4f86c5249c5d2091b 100644 (file)
@@ -201,7 +201,7 @@ frscm_make_frame_smob (void)
   f_smob->inferior = NULL;
   f_smob->frame_id_is_next = 0;
   f_scm = scm_new_smob (frame_smob_tag, (scm_t_bits) f_smob);
-  gdbscm_init_eqable_gsmob (&f_smob->base);
+  gdbscm_init_eqable_gsmob (&f_smob->base, f_scm);
 
   return f_scm;
 }
@@ -275,7 +275,7 @@ frscm_scm_from_frame (struct frame_info *frame, struct inferior *inferior)
   f_smob->inferior = inferior;
   f_smob->frame_id_is_next = frame_id_is_next;
 
-  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &f_smob->base, f_scm);
+  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &f_smob->base);
 
   return f_scm;
 }
index 5f9e856914db6e50df4ebb9566a73ff22210e24e..b0f9e19566450dd29ab5bbd1676d7701b6ed8da0 100644 (file)
@@ -148,13 +148,13 @@ gdbscm_init_chained_gsmob (chained_gdb_smob *base)
 
 /* Initialize an eqable_gdb_smob.
    This is the same as gdbscm_init_gsmob except that it also sets
-   containing_scm to #f.  */
+   BASE->containing_scm to CONTAINING_SCM.  */
 
 void
-gdbscm_init_eqable_gsmob (eqable_gdb_smob *base)
+gdbscm_init_eqable_gsmob (eqable_gdb_smob *base, SCM containing_scm)
 {
   gdbscm_init_gsmob ((gdb_smob *) base);
-  base->containing_scm = SCM_BOOL_F;
+  base->containing_scm = containing_scm;
 }
 
 /* Call this from each smob's "mark" routine.
@@ -419,16 +419,13 @@ gdbscm_find_eqable_gsmob_ptr_slot (htab_t htab, eqable_gdb_smob *base)
   return (eqable_gdb_smob **) slot;
 }
 
-/* Record CONTAINING_SCM as the object containing BASE, and record it in
-   SLOT.  SLOT must be the result of calling gdbscm_find_eqable_gsmob_ptr_slot
-   on BASE (or equivalent for lookup).  */
+/* Record BASE in SLOT.  SLOT must be the result of calling
+   gdbscm_find_eqable_gsmob_ptr_slot on BASE (or equivalent for lookup).  */
 
 void
 gdbscm_fill_eqable_gsmob_ptr_slot (eqable_gdb_smob **slot,
-                                  eqable_gdb_smob *base,
-                                  SCM containing_scm)
+                                  eqable_gdb_smob *base)
 {
-  base->containing_scm = containing_scm;
   *slot = base;
 }
 
index 53cc2721b5fa7901f0b4c2756630fcebff057123..0c5cc053c5c862bf0c6811c93221c939aeaf96ae 100644 (file)
@@ -159,7 +159,7 @@ syscm_make_symbol_smob (void)
 
   s_smob->symbol = NULL;
   s_scm = scm_new_smob (symbol_smob_tag, (scm_t_bits) s_smob);
-  gdbscm_init_eqable_gsmob (&s_smob->base);
+  gdbscm_init_eqable_gsmob (&s_smob->base, s_scm);
 
   return s_scm;
 }
@@ -202,7 +202,7 @@ syscm_scm_from_symbol (struct symbol *symbol)
   s_scm = syscm_make_symbol_smob ();
   s_smob = (symbol_smob *) SCM_SMOB_DATA (s_scm);
   s_smob->symbol = symbol;
-  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &s_smob->base, s_scm);
+  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &s_smob->base);
 
   return s_scm;
 }
index 910d8b7dfe9a238191fa2a7a549fceb0404185e1..7294fea0608bf7ef43ac21392ad40d9e6e3939ca 100644 (file)
@@ -184,7 +184,7 @@ stscm_make_symtab_smob (void)
 
   st_smob->symtab = NULL;
   st_scm = scm_new_smob (symtab_smob_tag, (scm_t_bits) st_smob);
-  gdbscm_init_eqable_gsmob (&st_smob->base);
+  gdbscm_init_eqable_gsmob (&st_smob->base, st_scm);
 
   return st_scm;
 }
@@ -226,7 +226,7 @@ stscm_scm_from_symtab (struct symtab *symtab)
   st_scm = stscm_make_symtab_smob ();
   st_smob = (symtab_smob *) SCM_SMOB_DATA (st_scm);
   st_smob->symtab = symtab;
-  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &st_smob->base, st_scm);
+  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &st_smob->base);
  
   return st_scm;
 }
index 36cba799df3d5194e4b29777f05e31e896677fac..4fa0c28ed87f7937578eb0bebf60e8fc93049fec 100644 (file)
@@ -283,7 +283,7 @@ tyscm_make_type_smob (void)
   t_smob->type = NULL;
 
   t_scm = scm_new_smob (type_smob_tag, (scm_t_bits) t_smob);
-  gdbscm_init_eqable_gsmob (&t_smob->base);
+  gdbscm_init_eqable_gsmob (&t_smob->base, t_scm);
 
   return t_scm;
 }
@@ -326,7 +326,7 @@ tyscm_scm_from_type (struct type *type)
   t_scm = tyscm_make_type_smob ();
   t_smob = (type_smob *) SCM_SMOB_DATA (t_scm);
   t_smob->type = type;
-  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &t_smob->base, t_scm);
+  gdbscm_fill_eqable_gsmob_ptr_slot (slot, &t_smob->base);
 
   return t_scm;
 }