[PATCH 8/9] Remove useless Guile SMOB marking functions

Andy Wingo wingo@igalia.com
Wed Apr 9 16:09:00 GMT 2014


* gdb/guile/scm-breakpoint.c:
* gdb/guile/scm-exception.c:
* gdb/guile/scm-iterator.c:
* gdb/guile/scm-objfile.c:
* gdb/guile/scm-pretty-print.c:
* gdb/guile/scm-symtab.c:
* gdb/guile/scm-type.c:
* gdb/guile/scm-value.c: Remove useless SMOB mark functions -- the SMOB
  data for all of these is allocated using scm_gc_malloc, so it is
  automatically marked.
---
 gdb/guile/scm-breakpoint.c   | 14 --------------
 gdb/guile/scm-exception.c    | 12 ------------
 gdb/guile/scm-iterator.c     | 13 -------------
 gdb/guile/scm-objfile.c      | 14 --------------
 gdb/guile/scm-pretty-print.c | 29 -----------------------------
 gdb/guile/scm-symtab.c       | 11 -----------
 gdb/guile/scm-type.c         | 11 -----------
 gdb/guile/scm-value.c        | 13 -------------
 8 files changed, 117 deletions(-)

diff --git a/gdb/guile/scm-breakpoint.c b/gdb/guile/scm-breakpoint.c
index a66b82e..fbbd81b 100644
--- a/gdb/guile/scm-breakpoint.c
+++ b/gdb/guile/scm-breakpoint.c
@@ -70,19 +70,6 @@ static SCM internal_keyword;
 
 /* Administrivia for breakpoint smobs.  */
 
-/* The smob "mark" function for <gdb:breakpoint>.  */
-
-static SCM
-bpscm_mark_breakpoint_smob (SCM self)
-{
-  breakpoint_smob *bp_smob = (breakpoint_smob *) SCM_SMOB_DATA (self);
-
-  /* We don't mark containing_scm here.  It is just a backlink to our
-     container, and is gc'protected until the breakpoint is deleted.  */
-
-  return bp_smob->stop;
-}
-
 /* The smob "free" function for <gdb:breakpoint>.  */
 
 static size_t
@@ -1177,7 +1164,6 @@ gdbscm_initialize_breakpoints (void)
 {
   breakpoint_smob_tag
     = gdbscm_make_smob_type (breakpoint_smob_name, sizeof (breakpoint_smob));
-  scm_set_smob_mark (breakpoint_smob_tag, bpscm_mark_breakpoint_smob);
   scm_set_smob_free (breakpoint_smob_tag, bpscm_free_breakpoint_smob);
   scm_set_smob_print (breakpoint_smob_tag, bpscm_print_breakpoint_smob);
 
diff --git a/gdb/guile/scm-exception.c b/gdb/guile/scm-exception.c
index 316f0b4..3b65b55 100644
--- a/gdb/guile/scm-exception.c
+++ b/gdb/guile/scm-exception.c
@@ -98,17 +98,6 @@ static unsigned long gdbscm_exception_count = 0;
 
 /* Administrivia for exception smobs.  */
 
-/* The smob "mark" function for <gdb:exception>.  */
-
-static SCM
-exscm_mark_exception_smob (SCM self)
-{
-  exception_smob *e_smob = (exception_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (e_smob->key);
-  return e_smob->args;
-}
-
 /* The smob "print" function for <gdb:exception>.  */
 
 static int
@@ -661,7 +650,6 @@ gdbscm_initialize_exceptions (void)
 {
   exception_smob_tag = gdbscm_make_smob_type (exception_smob_name,
 					      sizeof (exception_smob));
-  scm_set_smob_mark (exception_smob_tag, exscm_mark_exception_smob);
   scm_set_smob_print (exception_smob_tag, exscm_print_exception_smob);
 
   gdbscm_define_functions (exception_functions, 1);
diff --git a/gdb/guile/scm-iterator.c b/gdb/guile/scm-iterator.c
index 080339b..0bbca43 100644
--- a/gdb/guile/scm-iterator.c
+++ b/gdb/guile/scm-iterator.c
@@ -107,18 +107,6 @@ itscm_set_iterator_smob_progress_x (iterator_smob *i_smob, SCM progress)
 
 /* Administrivia for iterator smobs.  */
 
-/* The smob "mark" function for <gdb:iterator>.  */
-
-static SCM
-itscm_mark_iterator_smob (SCM self)
-{
-  iterator_smob *i_smob = (iterator_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (i_smob->object);
-  scm_gc_mark (i_smob->progress);
-  return i_smob->next_x;
-}
-
 /* The smob "print" function for <gdb:iterator>.  */
 
 static int
@@ -358,7 +346,6 @@ gdbscm_initialize_iterators (void)
 {
   iterator_smob_tag = gdbscm_make_smob_type (iterator_smob_name,
 					     sizeof (iterator_smob));
-  scm_set_smob_mark (iterator_smob_tag, itscm_mark_iterator_smob);
   scm_set_smob_print (iterator_smob_tag, itscm_print_iterator_smob);
 
   gdbscm_define_functions (iterator_functions, 1);
diff --git a/gdb/guile/scm-objfile.c b/gdb/guile/scm-objfile.c
index 693d404..34ed773 100644
--- a/gdb/guile/scm-objfile.c
+++ b/gdb/guile/scm-objfile.c
@@ -59,19 +59,6 @@ ofscm_objfile_smob_pretty_printers (objfile_smob *o_smob)
 
 /* Administrivia for objfile smobs.  */
 
-/* The smob "mark" function for <gdb:objfile>.  */
-
-static SCM
-ofscm_mark_objfile_smob (SCM self)
-{
-  objfile_smob *o_smob = (objfile_smob *) SCM_SMOB_DATA (self);
-
-  /* We don't mark containing_scm here.  It is just a backlink to our
-     container, and is gc-protected until the objfile is deleted.  */
-
-  return o_smob->pretty_printers;
-}
-
 /* The smob "print" function for <gdb:objfile>.  */
 
 static int
@@ -396,7 +383,6 @@ gdbscm_initialize_objfiles (void)
 {
   objfile_smob_tag
     = gdbscm_make_smob_type (objfile_smob_name, sizeof (objfile_smob));
-  scm_set_smob_mark (objfile_smob_tag, ofscm_mark_objfile_smob);
   scm_set_smob_print (objfile_smob_tag, ofscm_print_objfile_smob);
 
   gdbscm_define_functions (objfile_functions, 1);
diff --git a/gdb/guile/scm-pretty-print.c b/gdb/guile/scm-pretty-print.c
index f25eac3..dbdd749 100644
--- a/gdb/guile/scm-pretty-print.c
+++ b/gdb/guile/scm-pretty-print.c
@@ -121,18 +121,6 @@ static SCM ppscm_string_string;
 
 /* Administrivia for pretty-printer matcher smobs.  */
 
-/* The smob "mark" function for <gdb:pretty-printer>.  */
-
-static SCM
-ppscm_mark_pretty_printer_smob (SCM self)
-{
-  pretty_printer_smob *pp_smob = (pretty_printer_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (pp_smob->name);
-  scm_gc_mark (pp_smob->enabled);
-  return pp_smob->lookup;
-}
-
 /* The smob "print" function for <gdb:pretty-printer>.  */
 
 static int
@@ -248,19 +236,6 @@ gdbscm_set_pretty_printer_enabled_x (SCM self, SCM enabled)
 /* Administrivia for pretty-printer-worker smobs.
    These are created when a matcher recognizes a value.  */
 
-/* The smob "mark" function for <gdb:pretty-printer-worker>.  */
-
-static SCM
-ppscm_mark_pretty_printer_worker_smob (SCM self)
-{
-  pretty_printer_worker_smob *w_smob
-    = (pretty_printer_worker_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (w_smob->display_hint);
-  scm_gc_mark (w_smob->to_string);
-  return w_smob->children;
-}
-
 /* The smob "print" function for <gdb:pretty-printer-worker>.  */
 
 static int
@@ -1096,16 +1071,12 @@ gdbscm_initialize_pretty_printers (void)
   pretty_printer_smob_tag
     = gdbscm_make_smob_type (pretty_printer_smob_name,
 			     sizeof (pretty_printer_smob));
-  scm_set_smob_mark (pretty_printer_smob_tag,
-		     ppscm_mark_pretty_printer_smob);
   scm_set_smob_print (pretty_printer_smob_tag,
 		      ppscm_print_pretty_printer_smob);
 
   pretty_printer_worker_smob_tag
     = gdbscm_make_smob_type (pretty_printer_worker_smob_name,
 			     sizeof (pretty_printer_worker_smob));
-  scm_set_smob_mark (pretty_printer_worker_smob_tag,
-		     ppscm_mark_pretty_printer_worker_smob);
   scm_set_smob_print (pretty_printer_worker_smob_tag,
 		      ppscm_print_pretty_printer_worker_smob);
 
diff --git a/gdb/guile/scm-symtab.c b/gdb/guile/scm-symtab.c
index 2d09da3..8910973 100644
--- a/gdb/guile/scm-symtab.c
+++ b/gdb/guile/scm-symtab.c
@@ -386,16 +386,6 @@ gdbscm_symtab_static_block (SCM self)
 
 /* Administrivia for sal (symtab-and-line) smobs.  */
 
-/* The smob "mark" function for <gdb:sal>.  */
-
-static SCM
-stscm_mark_sal_smob (SCM self)
-{
-  sal_smob *s_smob = (sal_smob *) SCM_SMOB_DATA (self);
-
-  return s_smob->symtab_scm;
-}
-
 /* The smob "free" function for <gdb:sal>.  */
 
 static size_t
@@ -702,7 +692,6 @@ gdbscm_initialize_symtabs (void)
   scm_set_smob_print (symtab_smob_tag, stscm_print_symtab_smob);
 
   sal_smob_tag = gdbscm_make_smob_type (sal_smob_name, sizeof (sal_smob));
-  scm_set_smob_mark (sal_smob_tag, stscm_mark_sal_smob);
   scm_set_smob_free (sal_smob_tag, stscm_free_sal_smob);
   scm_set_smob_print (sal_smob_tag, stscm_print_sal_smob);
 
diff --git a/gdb/guile/scm-type.c b/gdb/guile/scm-type.c
index 4e09cbc..7a9cb68 100644
--- a/gdb/guile/scm-type.c
+++ b/gdb/guile/scm-type.c
@@ -401,16 +401,6 @@ save_objfile_types (struct objfile *objfile, void *datum)
 
 /* Administrivia for field smobs.  */
 
-/* The smob "mark" function for <gdb:field>.  */
-
-static SCM
-tyscm_mark_field_smob (SCM self)
-{
-  field_smob *f_smob = (field_smob *) SCM_SMOB_DATA (self);
-
-  return f_smob->type_scm;
-}
-
 /* The smob "print" function for <gdb:field>.  */
 
 static int
@@ -1469,7 +1459,6 @@ gdbscm_initialize_types (void)
 
   field_smob_tag = gdbscm_make_smob_type (field_smob_name,
 					  sizeof (field_smob));
-  scm_set_smob_mark (field_smob_tag, tyscm_mark_field_smob);
   scm_set_smob_print (field_smob_tag, tyscm_print_field_smob);
 
   gdbscm_define_integer_constants (type_integer_constants, 1);
diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c
index 70cc7d0..f0a0b4d 100644
--- a/gdb/guile/scm-value.c
+++ b/gdb/guile/scm-value.c
@@ -120,18 +120,6 @@ vlscm_forget_value_smob (value_smob *v_smob)
     v_smob->next->prev = v_smob->prev;
 }
 
-/* The smob "mark" function for <gdb:value>.  */
-
-static SCM
-vlscm_mark_value_smob (SCM self)
-{
-  value_smob *v_smob = (value_smob *) SCM_SMOB_DATA (self);
-
-  scm_gc_mark (v_smob->address);
-  scm_gc_mark (v_smob->type);
-  return v_smob->dynamic_type;
-}
-
 /* The smob "free" function for <gdb:value>.  */
 
 static size_t
@@ -1486,7 +1474,6 @@ gdbscm_initialize_values (void)
 {
   value_smob_tag = gdbscm_make_smob_type (value_smob_name,
 					  sizeof (value_smob));
-  scm_set_smob_mark (value_smob_tag, vlscm_mark_value_smob);
   scm_set_smob_free (value_smob_tag, vlscm_free_value_smob);
   scm_set_smob_print (value_smob_tag, vlscm_print_value_smob);
   scm_set_smob_equalp (value_smob_tag, vlscm_equal_p_value_smob);
-- 
1.9.1



More information about the Gdb-patches mailing list