diff options
author | Nicola Pero <nicola@gcc.gnu.org> | 2001-10-29 21:24:48 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2001-10-29 21:24:48 +0000 |
commit | 26e51caa4d5c885118c3b0ce9e07e77178029d4b (patch) | |
tree | 48a6d0392cef9c0138a7a096f4258d96634125b5 /libobjc | |
parent | 2726bdbaac4a5697ded7377fcd5a7592efca00ec (diff) | |
download | gcc-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/ChangeLog | 16 |
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. |