(emit-label get-tls-index-lock)
(inst mov target 1)
(zeroize rax-tn)
- (inst lock)
- (inst cmpxchg (make-ea-for-symbol-value *tls-index-lock*) target)
+ (inst cmpxchg (make-ea-for-symbol-value *tls-index-lock*) target :lock)
(inst jmp :ne get-tls-index-lock)
;; The symbol is now in OTHER.
(inst pop other)
(inst jmp :ne release-tls-index-lock)
;; Allocate a new tls-index.
(load-symbol-value target *free-tls-index*)
- (let ((error (generate-error-code nil tls-exhausted-error)))
+ (let ((error (generate-error-code nil 'tls-exhausted-error)))
(inst cmp target (fixnumize tls-size))
(inst jmp :ge error))
(inst add (make-ea-for-symbol-value *free-tls-index*)