Branch: Tag:

1999-02-10

1999-02-10 22:03:31 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

lots of minor optimizations..

Rev: src/builtin_functions.c:1.148
Rev: src/constants.c:1.14
Rev: src/constants.h:1.8
Rev: src/cpp.c:1.33
Rev: src/dynamic_load.c:1.34
Rev: src/module.c:1.10
Rev: src/modules/Gdbm/gdbmmod.c:1.7
Rev: src/modules/Gmp/mpz_glue.c:1.39
Rev: src/modules/Gz/zlibmod.c:1.23
Rev: src/modules/Image/colors.c:1.9
Rev: src/modules/Image/colortable.c:1.48
Rev: src/modules/Image/font.c:1.43
Rev: src/modules/Image/image.c:1.112
Rev: src/modules/Msql/msqlmod.c:1.10
Rev: src/modules/Mysql/mysql.c:1.26
Rev: src/modules/Mysql/result.c:1.15
Rev: src/modules/Odbc/odbc.c:1.14
Rev: src/modules/Odbc/odbc_result.c:1.17
Rev: src/modules/Oracle/oracle.c:1.16
Rev: src/modules/Perl/perlmod.c:1.6
Rev: src/modules/Pipe/pipe.c:1.30
Rev: src/modules/Postgres/pgresult.c:1.10
Rev: src/modules/Postgres/postgres.c:1.12
Rev: src/modules/Regexp/glue.c:1.14
Rev: src/modules/Ssleay/ssleay.c:1.11
Rev: src/modules/Yp/yp.c:1.16
Rev: src/modules/_Charset/charsetmod.c:1.9
Rev: src/modules/_Charset/iso2022.c:1.4
Rev: src/modules/_Crypto/cast.c:1.6
Rev: src/modules/_Crypto/cbc.c:1.14
Rev: src/modules/_Crypto/crypto.c:1.27
Rev: src/modules/_Crypto/des.c:1.13
Rev: src/modules/_Crypto/idea.c:1.13
Rev: src/modules/_Crypto/invert.c:1.8
Rev: src/modules/_Crypto/md2.c:1.6
Rev: src/modules/_Crypto/md5.c:1.12
Rev: src/modules/_Crypto/pipe.c:1.14
Rev: src/modules/_Crypto/rc4.c:1.9
Rev: src/modules/_Crypto/sha.c:1.15
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.20
Rev: src/modules/_Image_TTF/image_ttf.c:1.11
Rev: src/modules/_Image_XFace/image_xface.c:1.6
Rev: src/modules/call_out/call_out.c:1.25
Rev: src/modules/files/efuns.c:1.64
Rev: src/modules/files/socket.c:1.42
Rev: src/modules/math/math.c:1.17
Rev: src/modules/spider/accesseddb.c:1.18
Rev: src/modules/spider/dumudp.c:1.43
Rev: src/modules/spider/spider.c:1.78
Rev: src/modules/spider/xml.c:1.7
Rev: src/modules/sprintf/sprintf.c:1.32
Rev: src/modules/system/nt.c:1.8
Rev: src/modules/system/passwords.c:1.24
Rev: src/modules/system/system.c:1.62
Rev: src/object.c:1.57
Rev: src/operators.c:1.47
Rev: src/pike_macros.h:1.12
Rev: src/pike_types.c:1.50
Rev: src/pike_types.h:1.17
Rev: src/program.c:1.110
Rev: src/program.h:1.51
Rev: src/security.c:1.11
Rev: src/signal_handler.c:1.106
Rev: src/stralloc.h:1.29
Rev: src/svalue.h:1.21
Rev: src/threads.c:1.89

5:   \*/      /* -  * $Id: svalue.h,v 1.20 1999/01/21 09:15:17 hubbe Exp $ +  * $Id: svalue.h,v 1.21 1999/02/10 21:46:56 hubbe Exp $    */   #ifndef SVALUE_H   #define SVALUE_H
103:   #define T_ARRAY_LVALUE 254   #define T_MIXED 255    + #define tArr(VAL) "\000" VAL + #define tArray tArr(tMix) + #define tMap(IND,VAL) "\001" IND VAL + #define tMapping tMap(tMix,tMix) + #define tSet(IND) "\002" IND + #define tMultiset tSet(tMix) + #define tObj "\003\000\000\000\000\000" + #define tFuncV(ARGS,REST,RET) "\004" ARGS "\021" REST RET + #define tFunc(ARGS,RET) tFuncV(ARGS,tVoid,RET) + #define tFunction tFuncV(,tMix,tMix) + #define tPrg "\005" + #define tProgram "\005" + #define tStr "\006" + #define tString "\006" + #define tFlt "\007" + #define tFloat "\007" + #define tInt "\010" +  + #define tVoid "\020" + #define tVar(X) #X + #define tSetvar(X,Y) "\365" #X Y + #define tNot(X) "\367" X + #define tAnd(X,Y) "\370" X Y + #define tOr(X,Y) "\373" X Y + #define tOr3(X,Y,Z) tOr(X,tOr(Y,Z)) + #define tOr4(X,Y,Z,A) tOr(X,tOr(Y,tOr(Z,A))) + #define tOr5(X,Y,Z,A,B) tOr(X,tOr(Y,tOr(Z,tOr(A,B)))) + #define tOr6(X,Y,Z,A,B,C) tOr(X,tOr(Y,tOr(Z,tOr(A,tOr(B,C))))) + #define tOr7(X,Y,Z,A,B,C,D) tOr(X,tOr(Y,tOr(Z,tOr(A,tOr(B,tOr(C,D)))))) + #define tMix "\377" + #define tMixed "\377" + #define tComplex tOr6(tArray,tMapping,tMultiset,tObj,tFunction,tProgram) + #define tRef tOr(tString,tComplex) + #define tIfnot(X,Y) tAnd(tNot(X),Y) +    #define BIT_ARRAY (1<<T_ARRAY)   #define BIT_MAPPING (1<<T_MAPPING)   #define BIT_MULTISET (1<<T_MULTISET)