remove unnecessary smob mark/free functions
authorAndy Wingo <wingo@igalia.com>
Tue, 27 May 2014 01:11:58 +0000 (18:11 -0700)
committerDoug Evans <xdje42@gmail.com>
Tue, 27 May 2014 01:11:58 +0000 (18:11 -0700)
* guile/scm-arch.c (arscm_mark_arch_smob):
* guile/scm-block.c (bkscm_mark_block_smob)
(bkscm_mark_block_syms_progress_smob):
* guile/scm-breakpoint.c (bpscm_mark_breakpoint_smob):
* guile/scm-exception.c (exscm_mark_exception_smob):
* guile/scm-frame.c (frscm_mark_frame_smob):
* guile/scm-iterator.c (itscm_mark_iterator_smob):
* guile/scm-lazy-string.c (lsscm_mark_lazy_string_smob):
* guile/scm-objfile.c (ofscm_mark_objfile_smob):
* guile/scm-pretty-print.c (ppscm_mark_pretty_printer_smob)
(ppscm_mark_pretty_printer_worker_smob):
* guile/scm-symbol.c (syscm_mark_symbol_smob):
* guile/scm-symtab.c (stscm_mark_symtab_smob, stscm_mark_sal_smob):
* guile/scm-type.c (tyscm_mark_type_smob, tyscm_mark_field_smob):
* guile/scm-value.c (vlscm_mark_value_smob): Remove unnecessary
mark functions.
* guile/scm-symtab.c (stscm_free_sal_smob): Remove unnecessary free
function.

14 files changed:
gdb/ChangeLog
gdb/guile/scm-arch.c
gdb/guile/scm-block.c
gdb/guile/scm-breakpoint.c
gdb/guile/scm-exception.c
gdb/guile/scm-frame.c
gdb/guile/scm-iterator.c
gdb/guile/scm-lazy-string.c
gdb/guile/scm-objfile.c
gdb/guile/scm-pretty-print.c
gdb/guile/scm-symbol.c
gdb/guile/scm-symtab.c
gdb/guile/scm-type.c
gdb/guile/scm-value.c

index 37305f4..0880769 100644 (file)
@@ -1,4 +1,25 @@
 2014-05-26  Andy Wingo  <wingo@igalia.com>
+
+       * guile/scm-arch.c (arscm_mark_arch_smob):
+       * guile/scm-block.c (bkscm_mark_block_smob)
+       (bkscm_mark_block_syms_progress_smob):
+       * guile/scm-breakpoint.c (bpscm_mark_breakpoint_smob):
+       * guile/scm-exception.c (exscm_mark_exception_smob):
+       * guile/scm-frame.c (frscm_mark_frame_smob):
+       * guile/scm-iterator.c (itscm_mark_iterator_smob):
+       * guile/scm-lazy-string.c (lsscm_mark_lazy_string_smob):
+       * guile/scm-objfile.c (ofscm_mark_objfile_smob):
+       * guile/scm-pretty-print.c (ppscm_mark_pretty_printer_smob)
+       (ppscm_mark_pretty_printer_worker_smob):
+       * guile/scm-symbol.c (syscm_mark_symbol_smob):
+       * guile/scm-symtab.c (stscm_mark_symtab_smob, stscm_mark_sal_smob):
+       * guile/scm-type.c (tyscm_mark_type_smob, tyscm_mark_field_smob):
+       * guile/scm-value.c (vlscm_mark_value_smob): Remove unnecessary
+       mark functions.
+       * guile/scm-symtab.c (stscm_free_sal_smob): Remove unnecessary free
+       function.
+
+2014-05-26  Andy Wingo  <wingo@igalia.com>
            Doug Evans  <xdje42@gmail.com>
 
        * guile/guile-internal.h (GDB_SMOB_HEAD): Replace properties with
index aa170f0..0b3e95a 100644 (file)
@@ -48,14 +48,6 @@ static int arscm_is_arch (SCM);
 \f
 /* Administrivia for arch smobs.  */
 
-/* The smob "mark" function for <gdb:arch>.  */
-
-static SCM
-arscm_mark_arch_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "print" function for <gdb:arch>.  */
 
 static int
@@ -655,7 +647,6 @@ void
 gdbscm_initialize_arches (void)
 {
   arch_smob_tag = gdbscm_make_smob_type (arch_smob_name, sizeof (arch_smob));
-  scm_set_smob_mark (arch_smob_tag, arscm_mark_arch_smob);
   scm_set_smob_print (arch_smob_tag, arscm_print_arch_smob);
 
   gdbscm_define_functions (arch_functions, 1);
index 94c171e..2290008 100644 (file)
@@ -120,14 +120,6 @@ bkscm_objfile_block_map (struct objfile *objfile)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:block>.  */
-
-static SCM
-bkscm_mark_block_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:block>.  */
 
 static size_t
@@ -532,14 +524,6 @@ gdbscm_block_symbols (SCM self)
 /* The <gdb:block-symbols-iterator> object,
    for iterating over all symbols in a block.  */
 
-/* The smob "mark" function for <gdb:block-symbols-iterator>.  */
-
-static SCM
-bkscm_mark_block_syms_progress_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "print" function for <gdb:block-symbols-iterator>.  */
 
 static int
@@ -791,15 +775,12 @@ gdbscm_initialize_blocks (void)
 {
   block_smob_tag
     = gdbscm_make_smob_type (block_smob_name, sizeof (block_smob));
-  scm_set_smob_mark (block_smob_tag, bkscm_mark_block_smob);
   scm_set_smob_free (block_smob_tag, bkscm_free_block_smob);
   scm_set_smob_print (block_smob_tag, bkscm_print_block_smob);
 
   block_syms_progress_smob_tag
     = gdbscm_make_smob_type (block_syms_progress_smob_name,
                             sizeof (block_syms_progress_smob));
-  scm_set_smob_mark (block_syms_progress_smob_tag,
-                    bkscm_mark_block_syms_progress_smob);
   scm_set_smob_print (block_syms_progress_smob_tag,
                      bkscm_print_block_syms_progress_smob);
 
index 97621b8..7edb97d 100644 (file)
@@ -73,19 +73,6 @@ static SCM internal_keyword;
 \f
 /* 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
@@ -1181,7 +1168,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);
 
index c892884..f773a7d 100644 (file)
@@ -101,17 +101,6 @@ static unsigned long gdbscm_exception_count = 0;
 \f
 /* 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
@@ -665,7 +654,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);
index ee30597..8800923 100644 (file)
@@ -130,14 +130,6 @@ frscm_inferior_frame_map (struct inferior *inferior)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:frame>.  */
-
-static SCM
-frscm_mark_frame_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:frame>.  */
 
 static size_t
@@ -1058,7 +1050,6 @@ gdbscm_initialize_frames (void)
 {
   frame_smob_tag
     = gdbscm_make_smob_type (frame_smob_name, sizeof (frame_smob));
-  scm_set_smob_mark (frame_smob_tag, frscm_mark_frame_smob);
   scm_set_smob_free (frame_smob_tag, frscm_free_frame_smob);
   scm_set_smob_print (frame_smob_tag, frscm_print_frame_smob);
 
index e0155a9..b7bea26 100644 (file)
@@ -110,18 +110,6 @@ itscm_set_iterator_smob_progress_x (iterator_smob *i_smob, SCM progress)
 \f
 /* 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
@@ -362,7 +350,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);
index 10494ea..a34cb60 100644 (file)
@@ -63,14 +63,6 @@ static scm_t_bits lazy_string_smob_tag;
 \f
 /* Administrivia for lazy string smobs.  */
 
-/* The smob "mark" function for <gdb:lazy-string>.  */
-
-static SCM
-lsscm_mark_lazy_string_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:lazy-string>.  */
 
 static size_t
@@ -362,7 +354,6 @@ gdbscm_initialize_lazy_strings (void)
 {
   lazy_string_smob_tag = gdbscm_make_smob_type (lazy_string_smob_name,
                                                sizeof (lazy_string_smob));
-  scm_set_smob_mark (lazy_string_smob_tag, lsscm_mark_lazy_string_smob);
   scm_set_smob_free (lazy_string_smob_tag, lsscm_free_lazy_string_smob);
   scm_set_smob_print (lazy_string_smob_tag, lsscm_print_lazy_string_smob);
 
index 145f22b..54e4699 100644 (file)
@@ -62,19 +62,6 @@ ofscm_objfile_smob_pretty_printers (objfile_smob *o_smob)
 \f
 /* 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
@@ -400,7 +387,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);
index cc97dcd..6aa9119 100644 (file)
@@ -127,18 +127,6 @@ static SCM ppscm_string_string;
 \f
 /* 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
@@ -255,19 +243,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
@@ -1104,16 +1079,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);
 
index b6a92a4..cdc92ef 100644 (file)
@@ -95,14 +95,6 @@ syscm_objfile_symbol_map (struct symbol *symbol)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:symbol>.  */
-
-static SCM
-syscm_mark_symbol_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:symbol>.  */
 
 static size_t
@@ -756,7 +748,6 @@ gdbscm_initialize_symbols (void)
 {
   symbol_smob_tag
     = gdbscm_make_smob_type (symbol_smob_name, sizeof (symbol_smob));
-  scm_set_smob_mark (symbol_smob_tag, syscm_mark_symbol_smob);
   scm_set_smob_free (symbol_smob_tag, syscm_free_symbol_smob);
   scm_set_smob_print (symbol_smob_tag, syscm_print_symbol_smob);
 
index 845b13f..dbf9f7d 100644 (file)
@@ -122,14 +122,6 @@ stscm_objfile_symtab_map (struct symtab *symtab)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:symtab>.  */
-
-static SCM
-stscm_mark_symtab_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:symtab>.  */
 
 static size_t
@@ -397,29 +389,6 @@ gdbscm_symtab_static_block (SCM self)
 \f
 /* 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
-stscm_free_sal_smob (SCM self)
-{
-  sal_smob *s_smob = (sal_smob *) SCM_SMOB_DATA (self);
-
-  /* Not necessary, done to catch bugs.  */
-  s_smob->symtab_scm = SCM_UNDEFINED;
-
-  return 0;
-}
-
 /* The smob "print" function for <gdb:sal>.  */
 
 static int
@@ -710,13 +679,10 @@ gdbscm_initialize_symtabs (void)
 {
   symtab_smob_tag
     = gdbscm_make_smob_type (symtab_smob_name, sizeof (symtab_smob));
-  scm_set_smob_mark (symtab_smob_tag, stscm_mark_symtab_smob);
   scm_set_smob_free (symtab_smob_tag, stscm_free_symtab_smob);
   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);
 
   gdbscm_define_functions (symtab_functions, 1);
index 8d09fbd..582a5b7 100644 (file)
@@ -181,14 +181,6 @@ tyscm_type_map (struct type *type)
   return htab;
 }
 
-/* The smob "mark" function for <gdb:type>.  */
-
-static SCM
-tyscm_mark_type_smob (SCM self)
-{
-  return SCM_BOOL_F;
-}
-
 /* The smob "free" function for <gdb:type>.  */
 
 static size_t
@@ -412,16 +404,6 @@ save_objfile_types (struct objfile *objfile, void *datum)
 \f
 /* 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
@@ -1475,14 +1457,12 @@ void
 gdbscm_initialize_types (void)
 {
   type_smob_tag = gdbscm_make_smob_type (type_smob_name, sizeof (type_smob));
-  scm_set_smob_mark (type_smob_tag, tyscm_mark_type_smob);
   scm_set_smob_free (type_smob_tag, tyscm_free_type_smob);
   scm_set_smob_print (type_smob_tag, tyscm_print_type_smob);
   scm_set_smob_equalp (type_smob_tag, tyscm_equal_p_type_smob);
 
   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);
index 6e82d26..8e579a4 100644 (file)
@@ -123,18 +123,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
@@ -1493,7 +1481,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);