Move more allocations to psymtab obstack
authorTom Tromey <tom@tromey.com>
Thu, 10 May 2018 22:23:54 +0000 (16:23 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 10 Jan 2019 14:08:14 +0000 (07:08 -0700)
This moves a couple more psymtab-related allocations to the psymtab
obstack.

gdb/ChangeLog
2019-01-10  Tom Tromey  <tom@tromey.com>

* psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
PSYMBOL_SET_LANGUAGE.
(allocate_psymtab): Allocate psymtab on the psymtab obstack.

gdb/ChangeLog
gdb/psymtab.c

index 81f07f774d96acea8af2499e50c0f0c022756213..84797bb0a0980fef9aba42fa1ff45b8fa86a738d 100644 (file)
@@ -1,3 +1,9 @@
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
+       PSYMBOL_SET_LANGUAGE.
+       (allocate_psymtab): Allocate psymtab on the psymtab obstack.
+
 2019-01-10  Tom Tromey  <tom@tromey.com>
 
        * psymtab.h (psymtab_storage::obstack): New method.
index e18544126777dee31802578573649f69ddcd946e..4119e83134a74d049de15f5e43b53974756d950e 100644 (file)
@@ -1637,7 +1637,8 @@ add_psymbol_to_bcache (const char *name, int namelength, int copy_name,
 
   memset (&psymbol.language_specific, 0, sizeof (psymbol.language_specific));
   psymbol.ada_mangled = 0;
-  symbol_set_language (&psymbol, language, &objfile->objfile_obstack);
+  symbol_set_language (&psymbol, language,
+                      objfile->partial_symtabs->obstack ());
   symbol_set_names (&psymbol, name, namelength, copy_name, objfile->per_bfd);
 
   /* Stash the partial symbol away in the cache.  */
@@ -1722,7 +1723,7 @@ allocate_psymtab (const char *filename, struct objfile *objfile)
       objfile->partial_symtabs->free_psymtabs = psymtab->next;
     }
   else
-    psymtab = XOBNEW (&objfile->objfile_obstack, partial_symtab);
+    psymtab = XOBNEW (objfile->partial_symtabs->obstack (), partial_symtab);
 
   memset (psymtab, 0, sizeof (struct partial_symtab));
   psymtab->filename