460 |
data = scm_alloc_struct (basic_size + tail_elts, |
data = scm_alloc_struct (basic_size + tail_elts, |
461 |
scm_struct_n_extra_words, |
scm_struct_n_extra_words, |
462 |
"struct"); |
"struct"); |
463 |
handle = scm_alloc_double_cell ((((scm_t_bits) SCM_STRUCT_DATA (vtable)) |
handle = scm_double_cell ((((scm_t_bits) SCM_STRUCT_DATA (vtable)) |
464 |
+ scm_tc3_struct), |
+ scm_tc3_struct), |
465 |
(scm_t_bits) data, 0, 0); |
(scm_t_bits) data, 0, 0); |
466 |
scm_struct_init (handle, layout, data, tail_elts, init); |
scm_struct_init (handle, layout, data, tail_elts, init); |
467 |
SCM_ALLOW_INTS; |
SCM_ALLOW_INTS; |
468 |
return handle; |
return handle; |
539 |
data = scm_alloc_struct (basic_size + tail_elts, |
data = scm_alloc_struct (basic_size + tail_elts, |
540 |
scm_struct_n_extra_words, |
scm_struct_n_extra_words, |
541 |
"struct"); |
"struct"); |
542 |
handle = scm_alloc_double_cell ((scm_t_bits) data + scm_tc3_struct, |
handle = scm_double_cell ((scm_t_bits) data + scm_tc3_struct, |
543 |
(scm_t_bits) data, 0, 0); |
(scm_t_bits) data, 0, 0); |
544 |
data [scm_vtable_index_layout] = SCM_UNPACK (layout); |
data [scm_vtable_index_layout] = SCM_UNPACK (layout); |
545 |
scm_struct_init (handle, layout, data, tail_elts, scm_cons (layout, init)); |
scm_struct_init (handle, layout, data, tail_elts, scm_cons (layout, init)); |
546 |
SCM_ALLOW_INTS; |
SCM_ALLOW_INTS; |