objc data structure design
Geoffrey Keating
geoffk@apple.com
Tue Nov 23 19:34:00 GMT 2004
Following discussion with Zem, we've agreed that the objc data
structure design will proceed as follows:
Zem will take this patch:
Index: c-tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-tree.h,v
retrieving revision 1.187
diff -u -p -u -p -r1.187 c-tree.h
--- c-tree.h 11 Nov 2004 23:13:10 -0000 1.187
+++ c-tree.h 23 Nov 2004 18:54:26 -0000
@@ -73,6 +73,8 @@ struct lang_type GTY(())
/* In an ENUMERAL_TYPE, the min and max values. */
tree enum_min;
tree enum_max;
+ /* In a RECORD_TYPE, <insert proper comment here>. */
+ tree objc_protocol;
};
/* Record whether a type or decl was written with nonconstant size.
Index: cp/cp-tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/cp-tree.h,v
retrieving revision 1.1070
diff -u -p -u -p -r1.1070 cp-tree.h
--- cp/cp-tree.h 10 Nov 2004 17:34:47 -0000 1.1070
+++ cp/cp-tree.h 23 Nov 2004 18:54:28 -0000
@@ -1060,6 +1060,9 @@ struct lang_type_class GTY(())
tree decl_list;
tree template_info;
tree befriending_classes;
+
+ /* <insert proper comment here>. */
+ tree objc_protocol;
};
struct lang_type_ptrmem GTY(())
(with comments and possibly field names improved), and determine what
impact it has on C and C++ compile time, and C and C++ PCH size. For
C++, he'll use our Finder_FE benchmark for both time and PCH size, for
C I suggest that the PCH be one that just contains
#include <Carbon/Carbon.h>
on Darwin, and use some reasonable and convenient benchmark for time.
If these results show that there's not significant degradation, that is
less than 1% for compile speed and increase in PCH size, then this
should solve his problem and let him proceed with the objc data
structure changes. If there is significant degradation, we'll look at
making these fields be inserted only when they're actually needed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2408 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20041123/9bc34743/attachment.p7s>
More information about the Gcc
mailing list