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