summaryrefslogtreecommitdiff
path: root/byterun/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'byterun/array.c')
-rw-r--r--byterun/array.c8
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 {