pike.git / src / pike_compiler.h

version» Context lines:

pike.git/src/pike_compiler.h:86:    INT32 num_used_modules; /* Number of entries on the stack. */       int compilation_depth; /* Current class nesting depth. */      #ifdef PIKE_THREADS    int saved_lock_depth;   #endif    struct mapping *resolve_cache;   };    + /* +  * The next level is struct program_state, which are held in +  * a linked list stack rooted in the Pike_compiler variable. +  * There is one such struct for each class being compiled, +  * with the current class being in Pike_compiler. +  * +  * Cf compilation.h for its definition. +  */ +  + /* +  * The next level is struct compiler_frame, which are held in +  * a linked list stack rooted in the field of the same name in +  * struct program_state. They keep track of state for the +  * current function. +  * +  * Cf las.h for its definition. +  */ +    #ifdef PIKE_DEBUG   #define CHECK_COMPILER() do { \    if (!Pike_fp || !compilation_program || \    Pike_fp->context->prog != compilation_program) { \    Pike_fatal("Invalid compilation context!\n"); \    } \    } while(0)   #else   #define CHECK_COMPILER()   #endif