This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

objc data structure design


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.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]