PATCH to remove `final' from Java classes
Tom Tromey
tromey@cygnus.com
Thu Oct 22 17:58:00 GMT 1998
I'm committing the appended patch. It removes the `final' field from
Java class structures. This field is not needed, since we can easily
(and efficiently) determine whether finalization is required at
runtime.
1998-10-22 Tom Tromey <tromey@cygnus.com>
* java-tree.h (finalize_identifier_node): Don't declare.
* class.c (make_class_data): Don't push "final" field.
* decl.c (init_decl_processing): Don't push "final" field.
(finalize_identifier_node): Removed.
(init_decl_processing): Don't set finalize_identifier_node.
Tom
Index: class.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/java/class.c,v
retrieving revision 1.55.2.2
diff -u -r1.55.2.2 class.c
--- class.c 1998/10/21 15:04:04 1.55.2.2
+++ class.c 1998/10/22 22:07:52
@@ -1110,11 +1110,6 @@
flag_assume_compiled ? integer_four_node
: integer_two_node);
- method = lookup_java_method (type,
- finalize_identifier_node, void_signature_node);
- PUSH_FIELD_VALUE (cons, "final",
- method == NULL ? integer_zero_node : integer_one_node);
-
PUSH_FIELD_VALUE (cons, "thread", null_pointer_node);
FINISH_RECORD_CONSTRUCTOR (cons);
Index: decl.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/java/decl.c,v
retrieving revision 1.62.2.1
diff -u -r1.62.2.1 decl.c
--- decl.c 1998/10/20 18:17:55 1.62.2.1
+++ decl.c 1998/10/22 22:08:06
@@ -325,7 +325,6 @@
tree TYPE_identifier_node;
tree init_identifier_node;
tree clinit_identifier_node;
-tree finalize_identifier_node;
tree void_signature_node;
tree length_identifier_node;
tree this_identifier_node;
@@ -534,7 +533,6 @@
TYPE_identifier_node = get_identifier ("TYPE");
init_identifier_node = get_identifier ("<init>");
clinit_identifier_node = get_identifier ("<clinit>");
- finalize_identifier_node = get_identifier ("finalize");
void_signature_node = get_identifier ("()V");
length_identifier_node = get_identifier ("length");
this_identifier_node = get_identifier ("this");
@@ -603,7 +601,6 @@
PUSH_FIELD (class_type_node, field, "loader", ptr_type_node);
PUSH_FIELD (class_type_node, field, "interface_len", short_type_node);
PUSH_FIELD (class_type_node, field, "state", byte_type_node);
- PUSH_FIELD (class_type_node, field, "final", byte_type_node);
PUSH_FIELD (class_type_node, field, "thread", ptr_type_node);
for (t = TYPE_FIELDS (class_type_node); t != NULL_TREE; t = TREE_CHAIN (t))
FIELD_PRIVATE (t) = 1;
Index: java-tree.h
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/java/java-tree.h,v
retrieving revision 1.58.2.3
diff -u -r1.58.2.3 java-tree.h
--- java-tree.h 1998/10/22 19:51:55 1.58.2.3
+++ java-tree.h 1998/10/22 22:08:15
@@ -196,7 +196,6 @@
extern tree init_identifier_node; /* "<init>" */
extern tree clinit_identifier_node; /* "<clinit>" */
extern tree void_signature_node; /* "()V" */
-extern tree finalize_identifier_node; /* "finalize" */
extern tree length_identifier_node; /* "length" */
extern tree this_identifier_node; /* "this" */
extern tree super_identifier_node; /* "super" */
More information about the Gcc-patches
mailing list