pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:2814:   }      /* Used to generate code for functions. */   INT32 do_code_block(node *n, int identifier_flags)   {    struct compilation *c = THIS_COMPILATION;    struct reference *id = NULL;    INT32 entry_point;    int aggregate_cnum = -1;    int save_stack_depth = current_stack_depth; +  int save_label_no = label_no;    current_stack_depth = 0;       if (Pike_compiler->compiler_frame->current_function_number >= 0) {    id = Pike_compiler->new_program->identifier_references +    Pike_compiler->compiler_frame->current_function_number;    }       init_bytecode();    label_no=1;   
pike.git/src/docode.c:2918:    }    if (Pike_compiler->compiler_frame->lexical_scope & SCOPE_SCOPE_USED) {    emit_save_locals(Pike_compiler->compiler_frame);    }       DO_CODE_BLOCK(n);    }    entry_point = assemble(1);       current_stack_depth = save_stack_depth; +  label_no = save_label_no;    return entry_point;   }      /* Used by eval_low() to build code for constant expressions. */   INT32 docode(node *n)   {    INT32 entry_point;    int label_no_save = label_no;    struct byte_buffer instrbuf_save = instrbuf;    int stack_depth_save = current_stack_depth;