(inst jmp :ne release-tls-index-lock)
;; Allocate a new tls-index.
(load-symbol-value target *free-tls-index*)
(inst jmp :ne release-tls-index-lock)
;; Allocate a new tls-index.
(load-symbol-value target *free-tls-index*)
(inst cmp target (fixnumize tls-size))
(inst jmp :ge error))
(inst add (make-ea-for-symbol-value *free-tls-index*)
(fixnumize 1))
(storew target other symbol-tls-index-slot other-pointer-lowtag)
(emit-label release-tls-index-lock)
(inst cmp target (fixnumize tls-size))
(inst jmp :ge error))
(inst add (make-ea-for-symbol-value *free-tls-index*)
(fixnumize 1))
(storew target other symbol-tls-index-slot other-pointer-lowtag)
(emit-label release-tls-index-lock)