diff options
author | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-29 21:24:48 +0000 |
---|---|---|
committer | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-29 21:24:48 +0000 |
commit | 349400a71a740afe6cf765d6a515b0a5951e5c74 (patch) | |
tree | 48a6d0392cef9c0138a7a096f4258d96634125b5 /libobjc | |
parent | 12e22ea55e5509e0fe5f6e4b576700a310ef3942 (diff) | |
download | gcc-349400a71a740afe6cf765d6a515b0a5951e5c74.tar.gz |
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/ChangeLog | 16 |
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. |