Do not copy pairs

Already do not allow cons to be inlined, so it is (should be?) safe to pass any pairs directly through. Cannot make copies of any pairs except those between ptr and stack_top because that could cause equality checks to fail later on.
This commit is contained in:
Justin Ethier 2017-04-24 17:40:08 +00:00
parent 7a7419a3f4
commit 4b35ff71df

View file

@ -1050,7 +1050,7 @@ typedef union {
t == symbol_tag || /* Allocated in their own area */ \ t == symbol_tag || /* Allocated in their own area */ \
t == bignum_tag) { /* Always heap allocated */ \ t == bignum_tag) { /* Always heap allocated */ \
return obj; \ return obj; \
} else if (t == pair_tag) { \ } else if (0 && t == pair_tag) { \
((common_type *)ptr)->pair_t.hdr.mark = gc_color_red; \ ((common_type *)ptr)->pair_t.hdr.mark = gc_color_red; \
((common_type *)ptr)->pair_t.hdr.grayed = 0; \ ((common_type *)ptr)->pair_t.hdr.grayed = 0; \
((common_type *)ptr)->pair_t.tag = pair_tag; \ ((common_type *)ptr)->pair_t.tag = pair_tag; \