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
\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
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);
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
/* 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
{
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);
\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
{
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);
\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
{
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);
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
{
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);
\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
{
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);
\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
{
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);
\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
{
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);
\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
/* 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
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);
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
{
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);
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
\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
{
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);
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
\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
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);
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
{
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);