Patch: New interface lookup, and inlining, Take 2
Alexandre Petit-Bianco
apbianco@cygnus.com
Tue Feb 15 22:19:00 GMT 2000
Bryce McKinlay writes:
> Tom Tromey wrote:
>
> > I'd really like to get this code in.
> > But doesn't changing the size of Class in libgcj but not in gcj cause
> > problems? It seems to me that the new code could overwrite whatever
> > happens to be just after gcj-generated Class objects.
>
> Good point. I must admit I didn't actually try it ;-)
>
> regards
>
> [ bryce ]
Yes. I don't think gcj needs to be aware of the internal structure of
the _Jv_IDispatchTable union, something like that should be enough...
./A
Index: decl.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/decl.c,v
retrieving revision 1.46
diff -u -p -r1.46 decl.c
--- decl.c 2000/02/09 20:38:02 1.46
+++ decl.c 2000/02/16 06:17:08
@@ -660,6 +660,9 @@ init_decl_processing ()
PUSH_FIELD (class_type_node, field, "interface_count", short_type_node);
PUSH_FIELD (class_type_node, field, "state", byte_type_node);
PUSH_FIELD (class_type_node, field, "thread", ptr_type_node);
+ PUSH_FIELD (class_type_node, field, "depth", short_type_node);
+ PUSH_FIELD (class_type_node, field, "ancestors", class_ptr_type);
+ PUSH_FIELD (class_type_node, field, "idt", ptr_type_node);
for (t = TYPE_FIELDS (class_type_node); t != NULL_TREE; t = TREE_CHAIN (t))
FIELD_PRIVATE (t) = 1;
push_super_field (class_type_node, object_type_node);
More information about the Java-patches
mailing list