pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:8467:   }      void store_linenumber_frame_type(int frame_offset, int constant_num)   {    add_to_linenumbers(127);    insert_small_number(~frame_offset);    add_to_linenumbers(1);    insert_small_number(constant_num);   }    + void store_linenumber_frame_end(int frame_offset) + { +  add_to_linenumbers(127); +  insert_small_number(~frame_offset); +  add_to_linenumbers(2); + } +    #define FIND_PROGRAM_LINE(prog, file, line) do { \    char *pos = prog->linenumbers; \    file = NULL; \    \    if (pos < prog->linenumbers + prog->num_linenumbers) { \    if (*pos == 127) { \    int strno; \    pos++; \    strno = get_small_number(&pos); \    CHECK_FILE_ENTRY (prog, strno); \
pike.git/src/program.c:8661:    {    int strno;    cnt++;    strno = get_small_number(&cnt);    if (strno >= 0) {    CHECK_FILE_ENTRY (prog, strno);    next_file = prog->strings[strno];    } else {    int frame_offset = ~strno;    int kind = *cnt++; +  if (kind == 2) { +  /* end of frame */ +  frame.num_local = frame_offset; +  continue; +  }    strno = get_small_number(&cnt);    frame.num_local = frame_offset+1;    if (frame_offset < MAX_LOCAL) {    switch(kind) {    case 0: /* name */    frame.names[frame_offset] = strno;    break;    case 1: /* type */    frame.types[frame_offset] = strno;    break;