aboutsummaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorNicola Pero <nicola@gcc.gnu.org>2001-10-29 21:24:48 +0000
committerNicola Pero <nicola@gcc.gnu.org>2001-10-29 21:24:48 +0000
commit26e51caa4d5c885118c3b0ce9e07e77178029d4b (patch)
tree48a6d0392cef9c0138a7a096f4258d96634125b5 /libobjc
parent2726bdbaac4a5697ded7377fcd5a7592efca00ec (diff)
downloadgcc-26e51caa4d5c885118c3b0ce9e07e77178029d4b.zip
gcc-26e51caa4d5c885118c3b0ce9e07e77178029d4b.tar.gz
gcc-26e51caa4d5c885118c3b0ce9e07e77178029d4b.tar.bz2
Rewritten from scratch class lookup internals - getting a good performance
boost for class method invocations From-SVN: r46616
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 452c497..6e41008 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.