class.c (make_class_data): Set DECL_ALIGN on static class data, for hash synchronization.
* class.c (make_class_data): Set DECL_ALIGN on static class data, for hash synchronization. * expr.c (java_expand_expr): Set DECL_ALIGN on static array objects. * decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for class_type_node. From-SVN: r52449
This commit is contained in:
parent
ceba9d086a
commit
97561ee281
|
@ -1,3 +1,11 @@
|
|||
2002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
|
||||
|
||||
* class.c (make_class_data): Set DECL_ALIGN on static class data,
|
||||
for hash synchronization.
|
||||
* expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
|
||||
* decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
|
||||
class_type_node.
|
||||
|
||||
2002-04-16 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* jcf-write.c (generate_bytecode_insns): Only write const_0 if not
|
||||
|
|
|
@ -1736,6 +1736,11 @@ make_class_data (type)
|
|||
FINISH_RECORD_CONSTRUCTOR (cons);
|
||||
|
||||
DECL_INITIAL (decl) = cons;
|
||||
|
||||
/* Hash synchronization requires at least 64-bit alignment. */
|
||||
if (flag_hash_synchronization && POINTER_SIZE < 64)
|
||||
DECL_ALIGN (decl) = 64;
|
||||
|
||||
rest_of_decl_compilation (decl, (char*) 0, 1, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -683,10 +683,6 @@ java_init_decl_processing ()
|
|||
FIELD_PRIVATE (t) = 1;
|
||||
push_super_field (class_type_node, object_type_node);
|
||||
|
||||
/* Hash synchronization requires at least 64-bit alignment. */
|
||||
if (flag_hash_synchronization)
|
||||
TYPE_ALIGN (class_type_node) = 64;
|
||||
|
||||
FINISH_RECORD (class_type_node);
|
||||
build_decl (TYPE_DECL, get_identifier ("Class"), class_type_node);
|
||||
|
||||
|
|
|
@ -2530,6 +2530,9 @@ java_lang_expand_expr (exp, target, tmode, modifier)
|
|||
DECL_INITIAL (init_decl) = value;
|
||||
DECL_IGNORED_P (init_decl) = 1;
|
||||
TREE_READONLY (init_decl) = 1;
|
||||
/* Hash synchronization requires at least 64-bit alignment. */
|
||||
if (flag_hash_synchronization && POINTER_SIZE < 64)
|
||||
DECL_ALIGN (init_decl) = 64;
|
||||
rest_of_decl_compilation (init_decl, NULL, 1, 0);
|
||||
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1;
|
||||
init = build1 (ADDR_EXPR, TREE_TYPE (exp), init_decl);
|
||||
|
|
Loading…
Reference in New Issue