aboutsummaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-29 21:24:48 +0000
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-29 21:24:48 +0000
commit349400a71a740afe6cf765d6a515b0a5951e5c74 (patch)
tree48a6d0392cef9c0138a7a096f4258d96634125b5 /libobjc
parent12e22ea55e5509e0fe5f6e4b576700a310ef3942 (diff)
Rewritten from scratch class lookup internals - getting a good performance
boost for class method invocations git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46616 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog16
1 files changed, 16 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 452c497c0f8..6e41008b78c 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,19 @@
+Mon Oct 29 21:29:21 2001 Nicola Pero <n.pero@mi.flashnet.it>
+
+ * class.c: Rewritten the class table to use optimized, lock-free
+ lookup. This more than doubles the speed of class method
+ invocations. (class_table_setup), (class_table_insert),
+ (class_table_replace), (class_table_get_safe),
+ (class_table_next), (class_table_print),
+ (class_table_print_histogram): New functions.
+ (__objc_init_class_tables): Use class_table_setup.
+ (__objc_add_class_to_hash): Use class_table_get_safe and
+ class_table_insert. (objc_lookup_class), (objc_get_class): Do not
+ assert the existence of the table; do not lock the runtime; use
+ class_table_get_safe. (objc_next_class): Use class_table_next.
+ (__objc_resolve_class_links): Use class_table_next.
+ (class_pose_as): Use class_table_replace.
+
2001-09-10 Ovidiu Predescu <ovidiu@cup.hp.com>
* gc.c: Removed the DEBUG declaration.