pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: program.c,v 1.591 2005/05/30 12:36:08 mast Exp $ + || $Id: program.c,v 1.592 2005/05/31 11:59:04 grubba Exp $   */      #include "global.h"   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "lex.h"
pike.git/src/program.c:2450:   #endif       if(p->parent)    {    /* Make sure to break the circularity... */    struct program *parent = p->parent;    p->parent = NULL;    free_program(parent);    }    +  /* fprintf(stderr, "Exiting program: %p, id:%d\n", p, p->id); */       if(id_to_program_cache[p->id & (ID_TO_PROGRAM_CACHE_SIZE-1)]==p)    id_to_program_cache[p->id & (ID_TO_PROGRAM_CACHE_SIZE-1)]=0;       if(p->strings)    for(e=0; e<p->num_strings; e++)    if(p->strings[e])    free_string(p->strings[e]);       if(p->identifiers)
pike.git/src/program.c:3216:    CDFPRINTF((stderr,    "th(%ld) %p end_first_pass(%d): "    "threads_disabled:%d, compilation_depth:%d\n",    (long)th_self(), prog, finish,    threads_disabled, compilation_depth));       compilation_depth--;       exit_threads_disable(NULL);    + #if 0 + #ifdef PIKE_USE_MACHINE_CODE +  if (prog && +  (((unsigned long long *)prog->program)[-1] != 0xdeadfeedf00dfaddLL)) { +  Pike_fatal("Bad mexec magic!\n"); +  } + #endif /* PIKE_USE_MACHINE_CODE */ + #endif /* 0 */    return prog;   }      /*    * Finish this program, returning the newly built program    */   PMOD_EXPORT struct program *debug_end_program(void)   {    Pike_compiler->compiler_pass = 2;    return end_first_pass(1);
pike.git/src/program.c:7659:   }      PMOD_EXPORT struct program *program_from_function(const struct svalue *f)   {    if(f->type != T_FUNCTION) return 0;    if(f->subtype == FUNCTION_BUILTIN) return 0;    if(!f->u.object->prog) return 0;    return low_program_from_function(f->u.object->prog, f->subtype);   }    + /* NOTE: Does not add references to the return value! */   PMOD_EXPORT struct program *program_from_svalue(const struct svalue *s)   {    switch(s->type)    {    case T_OBJECT:    {    struct program *p = s->u.object->prog;    int call_fun;       if (!p) return 0;