[Places] fixes
This commit is contained in:
parent
c1f2dea1ed
commit
9088b47a1d
|
@ -3276,6 +3276,7 @@ static Scheme_Double_Vector *alloc_shared_flvector(long size)
|
||||||
|
|
||||||
original_gc = GC_switch_to_master_gc();
|
original_gc = GC_switch_to_master_gc();
|
||||||
vec = scheme_alloc_flvector(size);
|
vec = scheme_alloc_flvector(size);
|
||||||
|
SHARED_ALLOCATED_SET(vec);
|
||||||
GC_switch_back_from_master(original_gc);
|
GC_switch_back_from_master(original_gc);
|
||||||
|
|
||||||
return vec;
|
return vec;
|
||||||
|
@ -3463,6 +3464,7 @@ static Scheme_Vector *alloc_shared_fxvector(long size)
|
||||||
|
|
||||||
original_gc = GC_switch_to_master_gc();
|
original_gc = GC_switch_to_master_gc();
|
||||||
vec = scheme_alloc_fxvector(size);
|
vec = scheme_alloc_fxvector(size);
|
||||||
|
SHARED_ALLOCATED_SET(vec);
|
||||||
GC_switch_back_from_master(original_gc);
|
GC_switch_back_from_master(original_gc);
|
||||||
|
|
||||||
return vec;
|
return vec;
|
||||||
|
|
|
@ -731,6 +731,9 @@ Scheme_Object *scheme_places_deep_copy_worker(Scheme_Object *so, Scheme_Hash_Tab
|
||||||
case scheme_place_bi_channel_type:
|
case scheme_place_bi_channel_type:
|
||||||
new_so = so;
|
new_so = so;
|
||||||
break;
|
break;
|
||||||
|
case scheme_place_type:
|
||||||
|
new_so = ((Scheme_Place *) so)->channel;
|
||||||
|
break;
|
||||||
case scheme_char_type:
|
case scheme_char_type:
|
||||||
new_so = scheme_make_char(SCHEME_CHAR_VAL(so));
|
new_so = scheme_make_char(SCHEME_CHAR_VAL(so));
|
||||||
break;
|
break;
|
||||||
|
@ -746,10 +749,10 @@ Scheme_Object *scheme_places_deep_copy_worker(Scheme_Object *so, Scheme_Hash_Tab
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case scheme_float_type:
|
case scheme_float_type:
|
||||||
new_so = scheme_make_char(SCHEME_FLT_VAL(so));
|
new_so = scheme_make_float(SCHEME_FLT_VAL(so));
|
||||||
break;
|
break;
|
||||||
case scheme_double_type:
|
case scheme_double_type:
|
||||||
new_so = scheme_make_char(SCHEME_DBL_VAL(so));
|
new_so = scheme_make_double(SCHEME_DBL_VAL(so));
|
||||||
break;
|
break;
|
||||||
case scheme_complex_type:
|
case scheme_complex_type:
|
||||||
{
|
{
|
||||||
|
@ -886,7 +889,8 @@ Scheme_Object *scheme_places_deep_copy_worker(Scheme_Object *so, Scheme_Hash_Tab
|
||||||
|
|
||||||
case scheme_resolved_module_path_type:
|
case scheme_resolved_module_path_type:
|
||||||
default:
|
default:
|
||||||
scheme_log_abort("cannot copy object");
|
printf("places deep copy cannot copy object of type %hi at %p\n", so->type, so);
|
||||||
|
scheme_log_abort("places deep copy cannot copy object");
|
||||||
abort();
|
abort();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user