summaryrefslogtreecommitdiffstats
path: root/byterun/extern.c
diff options
context:
space:
mode:
Diffstat (limited to 'byterun/extern.c')
-rw-r--r--byterun/extern.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/byterun/extern.c b/byterun/extern.c
index 8ff896e8a..0578d7dbe 100644
--- a/byterun/extern.c
+++ b/byterun/extern.c
@@ -306,14 +306,14 @@ static void extern_rec(value v)
writecode32(CODE_INT32, n);
return;
}
- if (Is_young(v) || Is_in_heap(v) || Is_atom(v)) {
+ if (Is_in_value_area(v)) {
header_t hd = Hd_val(v);
tag_t tag = Tag_hd(hd);
mlsize_t sz = Wosize_hd(hd);
if (tag == Forward_tag) {
value f = Forward_val (v);
- if (Is_block (f) && (Is_young (f) || Is_in_heap (f))
+ if (Is_block (f) && Is_in_value_area(f)
&& (Tag_val (f) == Forward_tag || Tag_val (f) == Lazy_tag
|| Tag_val (f) == Double_tag)){
/* Do not short-circuit the pointer. */