Changeset 9157


Ignore:
Timestamp:
Apr 15, 2008, 4:59:14 AM (11 years ago)
Author:
rme
Message:

Hacks so the kernel debugger can print generic functions. Need to make
it work for other ports.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/lisp-kernel/x86_print.c

    r8235 r9157  
    267267}
    268268
     269#ifdef X8632
     270LispObj
     271nth_immediate(LispObj o, unsigned n)
     272{
     273  u16_t imm_word_count = *(u16_t *)(o + misc_data_offset);
     274  natural *constants = (natural *)((char *)o + misc_data_offset + (imm_word_count << 2));
     275  LispObj result = (LispObj)(constants[n-1]);
     276
     277  return result;
     278}
     279#endif
     280
    269281void
    270282sprint_function(LispObj o, int depth)
     
    304316      sprint_specializers_list(method_specializers, depth);
    305317      add_char(' ');
     318    } else if (lfbits & lfbits_gfn_mask) {
     319      LispObj gf_slots;
     320      LispObj gf_name;
     321
     322      add_c_string("Generic Function ");
     323
     324#ifdef X8632
     325      gf_slots = nth_immediate(o, 2);
     326      gf_name = deref(gf_slots, 2);
     327      sprint_lisp_object(gf_name, depth);
     328      add_char(' ');
     329#endif
    306330    } else {
    307331      add_c_string("Function ");
Note: See TracChangeset for help on using the changeset viewer.