diff --git a/racket/src/cs/rumble.sls b/racket/src/cs/rumble.sls index 0a71ccf358..cc3da13163 100644 --- a/racket/src/cs/rumble.sls +++ b/racket/src/cs/rumble.sls @@ -727,8 +727,9 @@ record-field-accessor record-field-mutator)) - (define/no-lift none (chez:gensym "none")) - (define/no-lift none2 (chez:gensym "none2")) ; never put this in an emphemeron + ;; Internal tokens that are different from all possible user-level values: + (define/no-lift none '#{none kwcju864gpycc2h151s9atbmo-1}) + (define/no-lift none2 '#{none kwcju864gpycc2h151s9atbmo-2}) ; never put this in an emphemeron (include "rumble/define.ss") (include "rumble/virtual-register.ss") diff --git a/racket/src/cs/rumble/control.ss b/racket/src/cs/rumble/control.ss index 43b61ddaf1..3da14c224c 100644 --- a/racket/src/cs/rumble/control.ss +++ b/racket/src/cs/rumble/control.ss @@ -140,7 +140,7 @@ ;; To support special treatment of break parameterizations, and also ;; to initialize disabled breaks for `dynamic-wind` pre and post ;; thunks: -(define break-enabled-key (gensym 'break-enabled)) +(define break-enabled-key '#{break-enabled n1kcvqw4c9hh8t3fi3659ci94-2}) (define/who (continuation-prompt-available? tag) (check who continuation-prompt-tag? tag) diff --git a/racket/src/cs/rumble/equal.ss b/racket/src/cs/rumble/equal.ss index bd79b9c226..bd6bed5e05 100644 --- a/racket/src/cs/rumble/equal.ss +++ b/racket/src/cs/rumble/equal.ss @@ -195,7 +195,7 @@ ;; continuation maps `key-equality-wrap-key` to a key-wrapping ;; function. -(define key-equality-wrap-key (gensym)) +(define key-equality-wrap-key '#{equality n1kcvqw4c9hh8t3fi3659ci94-0}) ;; Looking in the continaution is expensive relative to `equal?`, so ;; look in a box as a quick pre-test. Multiple threads may increment diff --git a/racket/src/cs/rumble/parameter.ss b/racket/src/cs/rumble/parameter.ss index e9a8a3dd30..57d50ba6ab 100644 --- a/racket/src/cs/rumble/parameter.ss +++ b/racket/src/cs/rumble/parameter.ss @@ -1,6 +1,6 @@ ;; Continuation-mark key: -(define parameterization-key (gensym "parameterization-key")) +(define parameterization-key '#{parameterization n1kcvqw4c9hh8t3fi3659ci94-1}) (define-record parameterization (ht)) @@ -94,7 +94,7 @@ [() (let ([c (or (parameter-cell data) default-c)]) - (thread-cell-ref c))] + (unsafe-thread-cell-ref c))] [(v) (let ([c (or (parameter-cell data) default-c)]) diff --git a/racket/src/cs/rumble/thread-cell.ss b/racket/src/cs/rumble/thread-cell.ss index af92980a8d..4b0aaa1fc3 100644 --- a/racket/src/cs/rumble/thread-cell.ss +++ b/racket/src/cs/rumble/thread-cell.ss @@ -11,6 +11,9 @@ (define/who (thread-cell-ref c) (check who thread-cell? c) + (unsafe-thread-cell-ref c)) + +(define (unsafe-thread-cell-ref c) (let* ([t (current-engine-thread-cell-values)] [v (if t (hashtable-ref t c none) diff --git a/racket/src/cs/rumble/variable.ss b/racket/src/cs/rumble/variable.ss index 32e97db325..799e5e4ab1 100644 --- a/racket/src/cs/rumble/variable.ss +++ b/racket/src/cs/rumble/variable.ss @@ -1,6 +1,6 @@ ;; A "variable" is a linklet import or export -(define undefined (gensym "undefined")) +(define undefined '#{undefined bjjxts6iq4xqtw8kz4eb1jxbs-0}) (define-record-type variable (fields (mutable val) name))