cs: unbreak unsafe-get-place-table
This commit is contained in:
parent
11120977b8
commit
a039248b9f
|
@ -35,9 +35,6 @@
|
||||||
(define (place-local-register-set! i v)
|
(define (place-local-register-set! i v)
|
||||||
(#%vector-set! (place-registers) i v))
|
(#%vector-set! (place-registers) i v))
|
||||||
|
|
||||||
(define (place-local-register-cas! i old-v new-v)
|
|
||||||
(#%vector-cas! (place-registers) i old-v new-v))
|
|
||||||
|
|
||||||
(define (place-local-register-init! i v)
|
(define (place-local-register-init! i v)
|
||||||
(place-local-register-set! i v)
|
(place-local-register-set! i v)
|
||||||
(#%vector-set! place-register-inits i v))
|
(#%vector-set! place-register-inits i v))
|
||||||
|
@ -53,10 +50,11 @@
|
||||||
(define place-specific-table (unsafe-make-place-local #f))
|
(define place-specific-table (unsafe-make-place-local #f))
|
||||||
|
|
||||||
(define (unsafe-get-place-table)
|
(define (unsafe-get-place-table)
|
||||||
(or (unsafe-place-local-ref place-specific-table)
|
(with-interrupts-disabled
|
||||||
(begin
|
(or (unsafe-place-local-ref place-specific-table)
|
||||||
(place-local-register-cas! place-specific-table #f (make-hasheq))
|
(let ([ht (make-hasheq)])
|
||||||
(unsafe-get-place-table))))
|
(unsafe-place-local-set! place-specific-table ht)
|
||||||
|
ht))))
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user