* 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

@@ -370,6 +370,29 @@ allocate_block (struct obstack *obstack)
return bl;
}
/* Allocate a global block. */
struct block *
allocate_global_block (struct obstack *obstack)
{
struct global_block *bl = OBSTACK_ZALLOC (obstack, struct global_block);
return &bl->block;
}
/* Set the symtab of the global block. */
void
set_block_symtab (struct block *block, struct symtab *symtab)
{
struct global_block *gb;
gdb_assert (BLOCK_SUPERBLOCK (block) == NULL);
gb = (struct global_block *) block;
gdb_assert (gb->symtab == NULL);
gb->symtab = symtab;
}
/* See block.h. */