mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-09 21:20:45 -08:00
Visit dumnped igc objects with closure
This commit is contained in:
parent
496f647b7d
commit
6455d3be17
2 changed files with 11 additions and 8 deletions
|
|
@ -5399,19 +5399,22 @@ dump_find_relocation (const struct dump_table_locator *const table,
|
|||
return found;
|
||||
}
|
||||
|
||||
#ifdef HAVE_MPS
|
||||
void
|
||||
dump_visit_object_starts (dump_visit_fn fn)
|
||||
dump_visit_igc_objects (dump_visit_fn fn, void *closure)
|
||||
{
|
||||
const struct dump_table_locator *table = &dump_private.header.object_starts;
|
||||
const struct dump_table_locator *table
|
||||
= &dump_private.header.igc_object_starts;
|
||||
const struct dump_reloc *const relocs
|
||||
= dump_ptr (dump_public.start, table->offset);
|
||||
for (dump_off i = 0; i < table->nr_entries; ++i)
|
||||
{
|
||||
void *start
|
||||
= dump_ptr (dump_public.start, dump_reloc_get_offset (relocs[i]));
|
||||
fn (start);
|
||||
fn (start, closure);
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
bool
|
||||
dump_loaded_p (void)
|
||||
|
|
|
|||
|
|
@ -278,14 +278,14 @@ void init_pdumper_once (void);
|
|||
void syms_of_pdumper (void);
|
||||
bool dump_loaded_p (void);
|
||||
|
||||
typedef void (* dump_visit_fn) (void *start);
|
||||
extern void dump_visit_object_starts (dump_visit_fn fn);
|
||||
typedef void (* dump_visit_fn) (void *start, void *closure);
|
||||
extern void dump_visit_igc_objects (dump_visit_fn fn, void *closure);
|
||||
|
||||
INLINE void
|
||||
pdumper_visit_object_starts (dump_visit_fn fn)
|
||||
pdumper_visit_object_starts (dump_visit_fn fn, void *closure)
|
||||
{
|
||||
#ifdef HAVE_PDUMPER
|
||||
dump_visit_object_starts (fn);
|
||||
#if defined HAVE_PDUMPER && defined HAVE_MPS
|
||||
dump_visit_igc_objects (fn, closure);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue