comparison src/alloc.c @ 456:e7ef97881643 r21-2-43

Import from CVS: tag r21-2-43
author cvs
date Mon, 13 Aug 2007 11:41:24 +0200
parents d7a9135ec789
children c33ae14dd6d0
comparison
equal deleted inserted replaced
455:5b97c1cd6ed0 456:e7ef97881643
1041 } 1041 }
1042 1042
1043 static size_t 1043 static size_t
1044 size_vector (const void *lheader) 1044 size_vector (const void *lheader)
1045 { 1045 {
1046 return FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, contents, 1046 return FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, Lisp_Object, contents,
1047 ((Lisp_Vector *) lheader)->size); 1047 ((Lisp_Vector *) lheader)->size);
1048 } 1048 }
1049 1049
1050 static int 1050 static int
1051 vector_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) 1051 vector_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
1089 /* #### should allocate `small' vectors from a frob-block */ 1089 /* #### should allocate `small' vectors from a frob-block */
1090 static Lisp_Vector * 1090 static Lisp_Vector *
1091 make_vector_internal (size_t sizei) 1091 make_vector_internal (size_t sizei)
1092 { 1092 {
1093 /* no vector_next */ 1093 /* no vector_next */
1094 size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, contents, sizei); 1094 size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, Lisp_Object,
1095 contents, sizei);
1095 Lisp_Vector *p = (Lisp_Vector *) alloc_lcrecord (sizem, &lrecord_vector); 1096 Lisp_Vector *p = (Lisp_Vector *) alloc_lcrecord (sizem, &lrecord_vector);
1096 1097
1097 p->size = sizei; 1098 p->size = sizei;
1098 return p; 1099 return p;
1099 } 1100 }
1252 /* #### should allocate `small' bit vectors from a frob-block */ 1253 /* #### should allocate `small' bit vectors from a frob-block */
1253 static Lisp_Bit_Vector * 1254 static Lisp_Bit_Vector *
1254 make_bit_vector_internal (size_t sizei) 1255 make_bit_vector_internal (size_t sizei)
1255 { 1256 {
1256 size_t num_longs = BIT_VECTOR_LONG_STORAGE (sizei); 1257 size_t num_longs = BIT_VECTOR_LONG_STORAGE (sizei);
1257 size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, bits, num_longs); 1258 size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, unsigned long,
1259 bits, num_longs);
1258 Lisp_Bit_Vector *p = (Lisp_Bit_Vector *) allocate_lisp_storage (sizem); 1260 Lisp_Bit_Vector *p = (Lisp_Bit_Vector *) allocate_lisp_storage (sizem);
1259 set_lheader_implementation (&p->lheader, &lrecord_bit_vector); 1261 set_lheader_implementation (&p->lheader, &lrecord_bit_vector);
1260 1262
1261 INCREMENT_CONS_COUNTER (sizem, "bit-vector"); 1263 INCREMENT_CONS_COUNTER (sizem, "bit-vector");
1262 1264
2573 if (! C_READONLY_RECORD_HEADER_P(&(v->lheader))) 2575 if (! C_READONLY_RECORD_HEADER_P(&(v->lheader)))
2574 UNMARK_RECORD_HEADER (&(v->lheader)); 2576 UNMARK_RECORD_HEADER (&(v->lheader));
2575 total_size += len; 2577 total_size += len;
2576 total_storage += 2578 total_storage +=
2577 MALLOC_OVERHEAD + 2579 MALLOC_OVERHEAD +
2578 FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, bits, 2580 FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, unsigned long,
2579 BIT_VECTOR_LONG_STORAGE (len)); 2581 bits, BIT_VECTOR_LONG_STORAGE (len));
2580 num_used++; 2582 num_used++;
2581 /* #### May modify next on a C_READONLY bitvector */ 2583 /* #### May modify next on a C_READONLY bitvector */
2582 prev = &(bit_vector_next (v)); 2584 prev = &(bit_vector_next (v));
2583 bit_vector = *prev; 2585 bit_vector = *prev;
2584 } 2586 }