Chez Scheme: tweak segment test for double-pair copying
This commit is contained in:
parent
b66d46b4f8
commit
78fedb3b24
|
@ -611,13 +611,11 @@
|
||||||
(cond
|
(cond
|
||||||
[(&& (!= cdr_p _)
|
[(&& (!= cdr_p _)
|
||||||
(&& (== (TYPEBITS cdr_p) type_pair)
|
(&& (== (TYPEBITS cdr_p) type_pair)
|
||||||
(&& (!= (set! qsi (MaybeSegInfo (ptr_get_segment cdr_p))) NULL)
|
(&& (= (ptr_get_segment cdr_p) (ptr_get_segment _))
|
||||||
(&& (== qsi si)
|
|
||||||
(&& (!= (FWDMARKER cdr_p) forward_marker)
|
(&& (!= (FWDMARKER cdr_p) forward_marker)
|
||||||
;; Checking `marked_mask`, in
|
;; Checking `marked_mask`, in
|
||||||
;; case the pair is locked
|
;; case the cdr pair is locked
|
||||||
(! (-> qsi marked_mask)))))))
|
(! (-> si marked_mask))))))
|
||||||
(check_triggers qsi)
|
|
||||||
(size size-pair 2)
|
(size size-pair 2)
|
||||||
(define new_cdr_p : ptr (cast ptr (+ (cast uptr _copy_) size_pair)))
|
(define new_cdr_p : ptr (cast ptr (+ (cast uptr _copy_) size_pair)))
|
||||||
(set! (pair-car _copy_) (pair-car _))
|
(set! (pair-car _copy_) (pair-car _))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user