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

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: program.c,v 1.109 1999/02/10 01:29:08 hubbe Exp $"); + RCSID("$Id: program.c,v 1.110 1999/02/10 21:46:51 hubbe Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"
1656:    return simple_add_constant(name, &tmp, flags);   }    + int quick_add_integer_constant(char *name, +  int name_length, +  INT32 i, +  INT32 flags) + { +  struct svalue tmp; +  struct pike_string *id; +  INT32 ret; +  +  tmp.u.integer=i; +  tmp.type=T_INT; +  tmp.subtype=NUMBER_NUMBER; +  id=make_shared_binary_string(name,name_length); +  ret=add_constant(id, &tmp, flags); +  free_string(id); +  return ret; + } +    int add_float_constant(char *name,    double f,    INT32 flags)
1722:   }       - int debug_end_class(char *name, INT32 flags) + int debug_end_class(char *name, int namelen, INT32 flags)   {    INT32 ret;    struct svalue tmp; -  +  struct pike_string *id; +     tmp.type=T_PROGRAM;    tmp.subtype=0;    tmp.u.program=end_program();    if(!tmp.u.program)    fatal("Failed to initialize class '%s'\n",name); -  ret=simple_add_constant(name, &tmp, flags); +  +  id=make_shared_binary_string(name,namelen); +  ret=add_constant(id, &tmp, flags); +  free_string(id);    free_svalue(&tmp);    return ret;   }
2379:    return ret;   }    + int quick_add_function(char *name, +  int name_length, +  void (*cfun)(INT32), +  char *type, +  int type_length, +  INT16 flags, +  int opt_flags) + { +  int ret; +  struct pike_string *name_tmp,*type_tmp; +  union idptr tmp; +  +  name_tmp=make_shared_binary_string(name,name_length); +  type_tmp=make_shared_binary_string(type,type_length); +  +  if(cfun) +  { +  tmp.c_fun=cfun; +  ret=define_function(name_tmp, +  type_tmp, +  flags, +  IDENTIFIER_C_FUNCTION, +  &tmp); +  }else{ +  ret=define_function(name_tmp, +  type_tmp, +  flags, +  IDENTIFIER_C_FUNCTION, +  0); +  } +  free_string(name_tmp); +  free_string(type_tmp); +  return ret; + } +    #ifdef PIKE_DEBUG   void check_all_programs(void)   {