|
From: Andre R. <and...@us...> - 2004-11-21 15:05:21
|
Update of /cvsroot/frontierkernel/Frontier/Common/headers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2276/Common/headers Modified Files: Tag: New_Tables_Experiment-branch lang.h Log Message: Added hashmodify and hashtablemodify for assigning over an existing node in the table. If the caller already performed a lookup in the table and obtained the handle to the hash node, he can use these functions instead of hashassign and hashtableassign to eliminate another lookup in the table. Currently, we can only use this from langsetsymbolval, but since this is called a lot during UserTalk execution, is a worthy optimization. Index: lang.h =================================================================== RCS file: /cvsroot/frontierkernel/Frontier/Common/headers/lang.h,v retrieving revision 1.4.2.4 retrieving revision 1.4.2.5 diff -C2 -d -r1.4.2.4 -r1.4.2.5 *** lang.h 20 Nov 2004 23:03:18 -0000 1.4.2.4 --- lang.h 21 Nov 2004 15:04:34 -0000 1.4.2.5 *************** *** 989,992 **** --- 989,996 ---- extern void hashsetlocality (tyvaluerecord *, boolean); /*6.2b16 AR: needed to set locality in langaddlocals [langevaluate.c]*/ + extern boolean hashmodify (const bigstring, hdlhashnode, tyvaluerecord); //2004-11-21 aradke + + extern boolean hashtablemodify (hdlhashtable, const bigstring, hdlhashnode, tyvaluerecord); //2004-11-21 aradke + extern boolean hashassign (const bigstring, tyvaluerecord); |