* jv-lang.c (get_java_class_symtab): Use allocate_global_block,

set_block_symtab.
	* jit.c (finalize_symtab): Use allocate_global_block,
	set_block_symtab.
	* buildsym.c (finish_block_internal): New function, from old
	finish_block.
	(finish_block): Rewrite.
	(end_symtab): Use finish_block_internal, set_block_symtab.
	* block.h (struct global_block): New.
	(allocate_global_block, set_block_symtab): Declare.
	* block.c (allocate_global_block, set_block_symtab): New
	functions.
This commit is contained in:
Tom Tromey
2012-05-10 19:59:12 +00:00
parent 9439a077be
commit 84a146c9d3
6 changed files with 94 additions and 13 deletions

View File

@@ -695,7 +695,11 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
block_iter = NULL;
for (i = 0; i < FIRST_LOCAL_BLOCK; i++)
{
struct block *new_block = allocate_block (&objfile->objfile_obstack);
struct block *new_block;
new_block = (i == GLOBAL_BLOCK
? allocate_global_block (&objfile->objfile_obstack)
: allocate_block (&objfile->objfile_obstack));
BLOCK_DICT (new_block) = dict_create_linear (&objfile->objfile_obstack,
NULL);
BLOCK_SUPERBLOCK (new_block) = block_iter;
@@ -705,6 +709,9 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
BLOCK_END (new_block) = (CORE_ADDR) end;
BLOCKVECTOR_BLOCK (symtab->blockvector, i) = new_block;
if (i == GLOBAL_BLOCK)
set_block_symtab (new_block, symtab);
}
/* Fill up the superblock fields for the real blocks, using the