Don't change verify_gens in tests.

This commit is contained in:
Stas Boukarev 2025-10-22 05:32:34 +03:00
parent 406561e0b0
commit 7bc62d6494
3 changed files with 29 additions and 23 deletions

View file

@ -8,10 +8,11 @@
(with-test (:name :adjacent-barrier-elimination-sticky-marks
:skipped-on (or :gc-stress
(:not :soft-card-marks)))
(let ((pre_verify_gen_0 (extern-alien "pre_verify_gen_0" int)))
(setf (extern-alien "pre_verify_gen_0" int) 1)
(loop repeat 1000000
do (adjacent-barriers))
(setf (extern-alien "pre_verify_gen_0" int) 0))
(setf (extern-alien "pre_verify_gen_0" int) pre_verify_gen_0)))
;;; The layout of FOO must not get promoted from gen0 to gen1.

View file

@ -55,6 +55,7 @@
#+sb-thread
(with-test (:name :concurrently-alloc-code)
;; this debug setting may or may not find a problem, but it can't hurt to try
(let ((pre_verify_gen_0 (extern-alien "pre_verify_gen_0" int)))
(setf (extern-alien "pre_verify_gen_0" int) 1)
(let ((worker-th
(sb-thread:make-thread
@ -73,4 +74,4 @@
(let ((compiles (sb-thread:join-thread worker-th)))
(format t "~&Compiled ~D times, GC'ed ~D times~%"
compiles gcs))))
(setf (extern-alien "pre_verify_gen_0" int) 0))
(setf (extern-alien "pre_verify_gen_0" int) pre_verify_gen_0)))

View file

@ -116,6 +116,7 @@
(gc)
(when show (show (list-head *lfl*) #'get-next "del "))))
(defvar *old-verify-gens* (sb-alien:extern-alien "verify_gens" char))
;; Enable heap validity tester
#+(and generational (not gc-stress)) (setf (sb-alien:extern-alien "verify_gens" char) 0)
@ -526,3 +527,6 @@
(if (< i (1- nthreads)) (+ chunk-start chunk-size))))
(incf chunk-start chunk-size))
(tester lflist worklists))))
#+(and generational (not gc-stress))
(setf (sb-alien:extern-alien "verify_gens" char) *old-verify-gens*)