Re: [RFA 15/15] Move psymtabs to their own obstack

Simon Marchi
2018-07-18T14:41:26Z

On 2018-05-10 06:23 PM, Tom Tromey wrote:
> Previously, the psymtab obstack was just a pointer to the objfile
> obstack. This patch changes psymtabs to use their own obstack,
> instead. A gdb::optional is used to avoid unnecessary allocation when
> the obstack is not needed.
>
> After this patch, the psymtab code lifetime model is that, in the core
> psymtab code, objects allocated on the psymtab obstack may point to
> other such objects, or to objects on the per-BFD obstack -- but never
> to the objfile obstack.
>
> Note however that this invariant is only obeyed the core psymtab code.
> Symbol readers are free to work however they like; and in particular,
> even after this patch, in practice all symbol readers violate this
> invariant via the read_symtab_private field.

Thanks, LGTM.

I think you can remove the objfile parameter in the psymtab_storage constructor,
it is not used (this shows that psymtab_storage no longer relies on the objfile
for allocations).

Simon