diff options
Diffstat (limited to 'byterun/array.c')
-rw-r--r-- | byterun/array.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/byterun/array.c b/byterun/array.c index 468fe444a4..e282f0600e 100644 --- a/byterun/array.c +++ b/byterun/array.c @@ -21,8 +21,6 @@ #include "misc.h" #include "mlvalues.h" -#ifndef NATIVE_CODE - CAMLprim value caml_array_get_addr(value array, value index) { intnat idx = Long_val(index); @@ -125,8 +123,6 @@ CAMLprim value caml_array_unsafe_set(value array, value index, value newval) return caml_array_unsafe_set_addr(array, index, newval); } -#endif - CAMLprim value caml_make_vect(value len, value init) { CAMLparam2 (len, init); @@ -139,7 +135,7 @@ CAMLprim value caml_make_vect(value len, value init) res = Atom(0); } else if (Is_block(init) - && (Is_atom(init) || Is_young(init) || Is_in_heap(init)) + && Is_in_value_area(init) && Tag_val(init) == Double_tag) { d = Double_val(init); wsize = size * Double_wosize; @@ -181,7 +177,7 @@ CAMLprim value caml_make_array(value init) } else { v = Field(init, 0); if (Is_long(v) - || (!Is_atom(v) && !Is_young(v) && !Is_in_heap(v)) + || ! Is_in_value_area(v) || Tag_val(v) != Double_tag) { CAMLreturn (init); } else { |