/[cmucl]/src/lisp/gencgc.c
ViewVC logotype

Diff of /src/lisp/gencgc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.27 by moore, Tue Aug 27 22:18:31 2002 UTC revision 1.27.2.1 by pmai, Fri Oct 4 23:14:04 2002 UTC
# Line 3958  static void gc_init_tables(void) Line 3958  static void gc_init_tables(void)
3958          scavtab[type_ComplexLongFloat] = scav_unboxed;          scavtab[type_ComplexLongFloat] = scav_unboxed;
3959  #endif  #endif
3960          scavtab[type_SimpleArray] = scav_boxed;          scavtab[type_SimpleArray] = scav_boxed;
3961    #ifdef type_SimpleBaseString
3962            scavtab[type_SimpleBaseString] = scav_string;
3963            scavtab[type_SimpleCharacterString] = scav_vector_unsigned_byte_32;
3964    #else
3965          scavtab[type_SimpleString] = scav_string;          scavtab[type_SimpleString] = scav_string;
3966    #endif
3967          scavtab[type_SimpleBitVector] = scav_vector_bit;          scavtab[type_SimpleBitVector] = scav_vector_bit;
3968          scavtab[type_SimpleVector] = scav_vector;          scavtab[type_SimpleVector] = scav_vector;
3969          scavtab[type_SimpleArrayUnsignedByte2] = scav_vector_unsigned_byte_2;          scavtab[type_SimpleArrayUnsignedByte2] = scav_vector_unsigned_byte_2;
# Line 4016  static void gc_init_tables(void) Line 4021  static void gc_init_tables(void)
4021          scavtab[type_ValueCellHeader] = scav_boxed;          scavtab[type_ValueCellHeader] = scav_boxed;
4022          scavtab[type_SymbolHeader] = scav_boxed;          scavtab[type_SymbolHeader] = scav_boxed;
4023          scavtab[type_BaseChar] = scav_immediate;          scavtab[type_BaseChar] = scav_immediate;
4024    #ifdef type_Character
4025            scavtab[type_Character] = scav_immediate;
4026    #endif
4027          scavtab[type_Sap] = scav_unboxed;          scavtab[type_Sap] = scav_unboxed;
4028          scavtab[type_UnboundMarker] = scav_immediate;          scavtab[type_UnboundMarker] = scav_immediate;
4029          scavtab[type_WeakPointer] = scav_weak_pointer;          scavtab[type_WeakPointer] = scav_weak_pointer;
# Line 4045  static void gc_init_tables(void) Line 4053  static void gc_init_tables(void)
4053          transother[type_ComplexLongFloat] = trans_unboxed;          transother[type_ComplexLongFloat] = trans_unboxed;
4054  #endif  #endif
4055          transother[type_SimpleArray] = trans_boxed_large;          transother[type_SimpleArray] = trans_boxed_large;
4056    #ifdef type_SimpleBaseString
4057            transother[type_SimpleBaseString] = trans_string;
4058            transother[type_SimpleCharacterString] = trans_vector_unsigned_byte_32;
4059    #else
4060          transother[type_SimpleString] = trans_string;          transother[type_SimpleString] = trans_string;
4061    #endif
4062          transother[type_SimpleBitVector] = trans_vector_bit;          transother[type_SimpleBitVector] = trans_vector_bit;
4063          transother[type_SimpleVector] = trans_vector;          transother[type_SimpleVector] = trans_vector;
4064          transother[type_SimpleArrayUnsignedByte2] = trans_vector_unsigned_byte_2;          transother[type_SimpleArrayUnsignedByte2] = trans_vector_unsigned_byte_2;
# Line 4094  static void gc_init_tables(void) Line 4107  static void gc_init_tables(void)
4107          transother[type_ValueCellHeader] = trans_boxed;          transother[type_ValueCellHeader] = trans_boxed;
4108          transother[type_SymbolHeader] = trans_boxed;          transother[type_SymbolHeader] = trans_boxed;
4109          transother[type_BaseChar] = trans_immediate;          transother[type_BaseChar] = trans_immediate;
4110    #ifdef type_Character
4111            transother[type_Character] = trans_immediate;
4112    #endif
4113          transother[type_Sap] = trans_unboxed;          transother[type_Sap] = trans_unboxed;
4114          transother[type_UnboundMarker] = trans_immediate;          transother[type_UnboundMarker] = trans_immediate;
4115          transother[type_WeakPointer] = trans_weak_pointer;          transother[type_WeakPointer] = trans_weak_pointer;
# Line 4135  static void gc_init_tables(void) Line 4151  static void gc_init_tables(void)
4151          sizetab[type_ComplexLongFloat] = size_unboxed;          sizetab[type_ComplexLongFloat] = size_unboxed;
4152  #endif  #endif
4153          sizetab[type_SimpleArray] = size_boxed;          sizetab[type_SimpleArray] = size_boxed;
4154    #ifdef type_SimpleBaseString
4155            sizetab[type_SimpleBaseString] = size_string;
4156            sizetab[type_SimpleCharacterString] = size_vector_unsigned_byte_32;
4157    #else
4158          sizetab[type_SimpleString] = size_string;          sizetab[type_SimpleString] = size_string;
4159    #endif
4160          sizetab[type_SimpleBitVector] = size_vector_bit;          sizetab[type_SimpleBitVector] = size_vector_bit;
4161          sizetab[type_SimpleVector] = size_vector;          sizetab[type_SimpleVector] = size_vector;
4162          sizetab[type_SimpleArrayUnsignedByte2] = size_vector_unsigned_byte_2;          sizetab[type_SimpleArrayUnsignedByte2] = size_vector_unsigned_byte_2;
# Line 4185  static void gc_init_tables(void) Line 4206  static void gc_init_tables(void)
4206          sizetab[type_ValueCellHeader] = size_boxed;          sizetab[type_ValueCellHeader] = size_boxed;
4207          sizetab[type_SymbolHeader] = size_boxed;          sizetab[type_SymbolHeader] = size_boxed;
4208          sizetab[type_BaseChar] = size_immediate;          sizetab[type_BaseChar] = size_immediate;
4209    #ifdef type_Character
4210            sizetab[type_Character] = size_immediate;
4211    #endif
4212          sizetab[type_Sap] = size_unboxed;          sizetab[type_Sap] = size_unboxed;
4213          sizetab[type_UnboundMarker] = size_immediate;          sizetab[type_UnboundMarker] = size_immediate;
4214          sizetab[type_WeakPointer] = size_weak_pointer;          sizetab[type_WeakPointer] = size_weak_pointer;
# Line 4209  static lispobj* search_space(lispobj *st Line 4233  static lispobj* search_space(lispobj *st
4233      if (Pointerp(thing)      if (Pointerp(thing)
4234          || (thing & 3) == 0 /* fixnum */          || (thing & 3) == 0 /* fixnum */
4235          || TypeOf(thing) == type_BaseChar          || TypeOf(thing) == type_BaseChar
4236    #ifdef type_Character
4237            || TypeOf(thing) == type_Character
4238    #endif
4239          || TypeOf(thing) == type_UnboundMarker)          || TypeOf(thing) == type_UnboundMarker)
4240        count = 2;        count = 2;
4241      else      else
# Line 4332  static int valid_dynamic_space_pointer(l Line 4359  static int valid_dynamic_space_pointer(l
4359      if((Pointerp(start_addr[0])      if((Pointerp(start_addr[0])
4360          || (start_addr[0] & 3) == 0 /* fixnum */          || (start_addr[0] & 3) == 0 /* fixnum */
4361          || TypeOf(start_addr[0]) == type_BaseChar          || TypeOf(start_addr[0]) == type_BaseChar
4362    #ifdef type_Character
4363            || TypeOf(start_addr[0]) == type_Character
4364    #endif
4365          || TypeOf(start_addr[0]) == type_UnboundMarker)          || TypeOf(start_addr[0]) == type_UnboundMarker)
4366         && (Pointerp(start_addr[1])         && (Pointerp(start_addr[1])
4367             || (start_addr[1] & 3) == 0 /* fixnum */             || (start_addr[1] & 3) == 0 /* fixnum */
4368             || TypeOf(start_addr[1]) == type_BaseChar             || TypeOf(start_addr[1]) == type_BaseChar
4369    #ifdef type_Character
4370               || TypeOf(start_addr[1]) == type_Character
4371    #endif
4372             || TypeOf(start_addr[1]) == type_UnboundMarker))             || TypeOf(start_addr[1]) == type_UnboundMarker))
4373        break;        break;
4374      else {      else {
# Line 4370  static int valid_dynamic_space_pointer(l Line 4403  static int valid_dynamic_space_pointer(l
4403      switch (TypeOf(start_addr[0])) {      switch (TypeOf(start_addr[0])) {
4404      case type_UnboundMarker:      case type_UnboundMarker:
4405      case type_BaseChar:      case type_BaseChar:
4406    #ifdef type_Character
4407        case type_Character:
4408    #endif
4409        if (gencgc_verbose)        if (gencgc_verbose)
4410          fprintf(stderr, "*Wo3: %x %x %x\n", pointer, start_addr, *start_addr);          fprintf(stderr, "*Wo3: %x %x %x\n", pointer, start_addr, *start_addr);
4411        return FALSE;        return FALSE;
# Line 4417  static int valid_dynamic_space_pointer(l Line 4453  static int valid_dynamic_space_pointer(l
4453  #ifdef type_LongFloat  #ifdef type_LongFloat
4454      case type_LongFloat:      case type_LongFloat:
4455  #endif  #endif
4456    #ifdef type_SimpleBaseString
4457        case type_SimpleBaseString:
4458        case type_SimpleCharacterString:
4459    #else
4460      case type_SimpleString:      case type_SimpleString:
4461    #endif
4462      case type_SimpleBitVector:      case type_SimpleBitVector:
4463      case type_SimpleArrayUnsignedByte2:      case type_SimpleArrayUnsignedByte2:
4464      case type_SimpleArrayUnsignedByte4:      case type_SimpleArrayUnsignedByte4:
# Line 4498  static void maybe_adjust_large_object(li Line 4539  static void maybe_adjust_large_object(li
4539      unboxed = FALSE;      unboxed = FALSE;
4540      break;      break;
4541    case type_Bignum:    case type_Bignum:
4542    #ifdef type_SimpleBaseString
4543      case type_SimpleBaseString:
4544      case type_SimpleCharacterString:
4545    #else
4546    case type_SimpleString:    case type_SimpleString:
4547    #endif
4548    case type_SimpleBitVector:    case type_SimpleBitVector:
4549    case type_SimpleArrayUnsignedByte2:    case type_SimpleArrayUnsignedByte2:
4550    case type_SimpleArrayUnsignedByte4:    case type_SimpleArrayUnsignedByte4:
# Line 5514  static void verify_space(lispobj*start, Line 5560  static void verify_space(lispobj*start,
5560          case type_ValueCellHeader:          case type_ValueCellHeader:
5561          case type_SymbolHeader:          case type_SymbolHeader:
5562          case type_BaseChar:          case type_BaseChar:
5563    #ifdef type_Character
5564            case type_Character:
5565    #endif
5566          case type_UnboundMarker:          case type_UnboundMarker:
5567          case type_InstanceHeader:          case type_InstanceHeader:
5568          case type_Fdefn:          case type_Fdefn:
# Line 5583  static void verify_space(lispobj*start, Line 5632  static void verify_space(lispobj*start,
5632  #ifdef type_ComplexLongFloat  #ifdef type_ComplexLongFloat
5633          case type_ComplexLongFloat:          case type_ComplexLongFloat:
5634  #endif  #endif
5635    #ifdef type_SimpleBaseString
5636            case type_SimpleBaseString:
5637            case type_SimpleCharacterString:
5638    #else
5639          case type_SimpleString:          case type_SimpleString:
5640    #endif
5641          case type_SimpleBitVector:          case type_SimpleBitVector:
5642          case type_SimpleArrayUnsignedByte2:          case type_SimpleArrayUnsignedByte2:
5643          case type_SimpleArrayUnsignedByte4:          case type_SimpleArrayUnsignedByte4:

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.27.2.1

  ViewVC Help
Powered by ViewVC 1.1.5