[Ada] Make the symbol cache per-program-space.
authorJoel Brobecker <brobecker@adacore.com>
Mon, 10 Feb 2014 13:49:27 +0000 (17:49 +0400)
committerJoel Brobecker <brobecker@adacore.com>
Mon, 10 Feb 2014 14:04:26 +0000 (18:04 +0400)
commitee01b6652ad55437e777fb7e6b1745782dc205a4
treeab043195519425d2b6d9d9f9ba23e8e694ef4f85
parent143adbbfa31d98b59c0a1509ac3819cc64b241c8
[Ada] Make the symbol cache per-program-space.

This patch moves the Ada symbol cache to per-program-space data.

gdb/ChangeLog:

        * ada-lang.c (struct cache_entry, HASH_SIZE): Move definition up.
        (struct ada_symbol_cache): New.
        (ada_free_symbol_cache): Forward declare.
        (struct ada_pspace_data): New.
        (ada_pspace_data_handle): New static global.
        (get_ada_pspace_data, ada_pspace_data_cleanup)
        (ada_init_symbol_cache, ada_free_symbol_cache): New functions.
        (cache_space, cache): Delete, now folded inside struct
        ada_pspace_data.
        (ada_get_symbol_cache): New function.
        (ada_clear_symbol_cache, find_entry, cache_symbol): Adjust
        implementation.
        (_initialize_ada_language): Remove initialization of cache_space.
        Move call to observer_attach_inferior_exit up, grouping it
        with the other observer registrations inside this function.
        Rename command to be more general.  Add call to
        register_program_space_data_with_cleanup.
gdb/ChangeLog
gdb/ada-lang.c