From 78fedb3b24c9d50cb4bf1aa182c2c866f0e17f21 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 6 Sep 2020 09:49:04 -0600 Subject: [PATCH] Chez Scheme: tweak segment test for double-pair copying --- racket/src/ChezScheme/s/mkgc.ss | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/racket/src/ChezScheme/s/mkgc.ss b/racket/src/ChezScheme/s/mkgc.ss index f7f32a62b6..d319e532d9 100644 --- a/racket/src/ChezScheme/s/mkgc.ss +++ b/racket/src/ChezScheme/s/mkgc.ss @@ -611,13 +611,11 @@ (cond [(&& (!= cdr_p _) (&& (== (TYPEBITS cdr_p) type_pair) - (&& (!= (set! qsi (MaybeSegInfo (ptr_get_segment cdr_p))) NULL) - (&& (== qsi si) - (&& (!= (FWDMARKER cdr_p) forward_marker) - ;; Checking `marked_mask`, in - ;; case the pair is locked - (! (-> qsi marked_mask))))))) - (check_triggers qsi) + (&& (= (ptr_get_segment cdr_p) (ptr_get_segment _)) + (&& (!= (FWDMARKER cdr_p) forward_marker) + ;; Checking `marked_mask`, in + ;; case the cdr pair is locked + (! (-> si marked_mask)))))) (size size-pair 2) (define new_cdr_p : ptr (cast ptr (+ (cast uptr _copy_) size_pair))) (set! (pair-car _copy_) (pair-car _))