diff --git a/s/front.ss b/s/front.ss index 1ca36b0769..5a2bb670e7 100644 --- a/s/front.ss +++ b/s/front.ss @@ -104,6 +104,15 @@ (define enable-cross-library-optimization ($make-thread-parameter #t (lambda (x) (and x #t)))) +(define-who current-generate-id + ($make-thread-parameter + (lambda (sym) + (unless (symbol? sym) ($oops 'default-generate-id "~s is not a symbol" sym)) + (gensym (symbol->string sym))) + (lambda (p) + (unless (procedure? p) ($oops who "~s is not a procedure" p)) + p))) + (define machine-type (lambda () (constant machine-type-name))) diff --git a/s/record.ss b/s/record.ss index b38a787a22..477bf316f8 100644 --- a/s/record.ss +++ b/s/record.ss @@ -395,15 +395,6 @@ (rec predicate (lambda (x) ($sealed-record? x rtd))) (rec predicate (lambda (x) (record? x rtd)))))) - (set-who! current-generate-id - ($make-thread-parameter - (lambda (sym) - (unless (symbol? sym) ($oops 'default-generate-id "~s is not a symbol" sym)) - (gensym (symbol->string sym))) - (lambda (p) - (unless (procedure? p) ($oops who "~s is not a procedure" p)) - p))) - (let ((base-rtd #!base-rtd)) (define (make-flags uid sealed? opaque? parent) (fxlogor