diff options
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r-- | gcc/java/class.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c index b69bfc1..f9300bc 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -655,8 +655,7 @@ add_method_1 (handle_class, access_flags, name, function_type) DECL_CONTEXT (fndecl) = handle_class; DECL_LANG_SPECIFIC (fndecl) - = (struct lang_decl *) permalloc (sizeof (struct lang_decl)); - bzero ((PTR) DECL_LANG_SPECIFIC (fndecl), sizeof (struct lang_decl)); + = (struct lang_decl *) ggc_alloc_cleared (sizeof (struct lang_decl)); /* Initialize the static initializer test table. */ hash_table_init (&DECL_FUNCTION_INIT_TEST_TABLE (fndecl), @@ -2121,4 +2120,5 @@ init_class_processing () { registerClass_libfunc = gen_rtx (SYMBOL_REF, Pmode, "_Jv_RegisterClass"); ggc_add_tree_root (®istered_class, 1); + ggc_add_rtx_root (®isterClass_libfunc, 1); } |