Branch: Tag:

2001-04-14

2001-04-14 09:44:22 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

Jumbopatch:

Saved 8 bytes per object (for objects that do not use their parent scope),
fixed some memory leaks and
first implementation of constant objects (Gmp.Bignum, Math.Matrix and Image.Colour)

Rev: src/backend.cmod:1.14
Rev: src/builtin.cmod:1.27
Rev: src/builtin_functions.c:1.362
Rev: src/docode.c:1.111
Rev: src/encode.c:1.98
Rev: src/gc.c:1.149
Rev: src/interpret.c:1.191
Rev: src/las.c:1.251
Rev: src/main.c:1.123
Rev: src/modules/Gmp/mpz_glue.c:1.93
Rev: src/modules/Image/colors.c:1.49
Rev: src/modules/Math/math_matrix.c:1.22
Rev: src/modules/Oracle/oracle.c:1.56
Rev: src/modules/files/socket.c:1.54
Rev: src/object.c:1.169
Rev: src/object.h:1.62
Rev: src/program.c:1.314
Rev: src/program.h:1.125
Rev: src/threads.h:1.114
Rev: src/version.h:1.273

5:   \*/   /**/   #include "global.h" - RCSID("$Id: docode.c,v 1.110 2001/03/17 20:55:55 grubba Exp $"); + RCSID("$Id: docode.c,v 1.111 2001/04/14 09:44:19 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"
1661:    if(n->u.sval.u.object->next == n->u.sval.u.object)    {    int x=0; + #if 0    struct object *o;       for(o=Pike_compiler->fake_object;o!=n->u.sval.u.object;o=o->parent)    x++; -  + #else +  struct program_state *state=Pike_compiler; +  for(;state->fake_object!=n->u.sval.u.object;state=state->previous) +  x++; + #endif    emit2(F_EXTERNAL, n->u.sval.subtype, x);    Pike_compiler->new_program->flags |= PROGRAM_USES_PARENT;    return 1;