diff --git a/racket/src/cs/primitive/internal.ss b/racket/src/cs/primitive/internal.ss index b56bc22a4d..17cc404a0b 100644 --- a/racket/src/cs/primitive/internal.ss +++ b/racket/src/cs/primitive/internal.ss @@ -34,5 +34,6 @@ [fork-place (known-procedure 1)] [start-place (known-procedure 32)] [make-pthread-parameter (known-procedure 2)] + [break-enabled-key (known-constant)] [fasl->s-exp/intern (known-procedure 2)]) diff --git a/racket/src/cs/thread.sls b/racket/src/cs/thread.sls index 839b9503f2..9346bcbc83 100644 --- a/racket/src/cs/thread.sls +++ b/racket/src/cs/thread.sls @@ -30,7 +30,6 @@ [get-initial-pthread rumble:get-initial-pthread] [current-place-roots rumble:current-place-roots] [set-ctl-c-handler! rumble:set-ctl-c-handler!] - [unsafe-root-continuation-prompt-tag rumble:unsafe-root-continuation-prompt-tag] [set-break-enabled-transition-hook! rumble:set-break-enabled-transition-hook!] [set-reachable-size-increments-callback! rumble:set-reachable-size-increments-callback!] [set-custodian-memory-use-proc! rumble:set-custodian-memory-use-proc!] @@ -104,6 +103,8 @@ ;; "primitives/internal.ss". (hasheq 'make-pthread-parameter make-pthread-parameter + 'unsafe-root-continuation-prompt-tag unsafe-root-continuation-prompt-tag + 'break-enabled-key break-enabled-key ;; These are actually redirected by "place-register.ss", but ;; we list them here for compatibility with the bootstrapping ;; variant of `#%pthread` @@ -118,14 +119,12 @@ 'engine-return rumble:engine-return 'current-engine-state (lambda (v) (rumble:current-engine-state v)) 'set-ctl-c-handler! rumble:set-ctl-c-handler! - 'root-continuation-prompt-tag rumble:unsafe-root-continuation-prompt-tag 'poll-will-executors poll-will-executors 'make-will-executor rumble:make-will-executor 'make-stubborn-will-executor rumble:make-stubborn-will-executor 'will-executor? rumble:will-executor? 'will-register rumble:will-register 'will-try-execute rumble:will-try-execute - 'break-enabled-key break-enabled-key 'set-break-enabled-transition-hook! rumble:set-break-enabled-transition-hook! 'continuation-marks rumble:continuation-marks 'set-reachable-size-increments-callback! rumble:set-reachable-size-increments-callback! diff --git a/racket/src/expander/compile/built-in-symbol.rkt b/racket/src/expander/compile/built-in-symbol.rkt index e9742b433f..cb3daa7f5c 100644 --- a/racket/src/expander/compile/built-in-symbol.rkt +++ b/racket/src/expander/compile/built-in-symbol.rkt @@ -63,4 +63,5 @@ #%app #%call-with-values make-pthread-parameter + break-enabled-key fasl->s-exp/intern)))) diff --git a/racket/src/thread/bootstrap.rkt b/racket/src/thread/bootstrap.rkt index d86839f5f5..446600e913 100644 --- a/racket/src/thread/bootstrap.rkt +++ b/racket/src/thread/bootstrap.rkt @@ -100,7 +100,7 @@ (set! ctl-c-handler proc)) (define the-root-continuation-prompt-tag (make-continuation-prompt-tag 'root)) -(define (root-continuation-prompt-tag) the-root-continuation-prompt-tag) +(define (unsafe-root-continuation-prompt-tag) the-root-continuation-prompt-tag) (define break-enabled-key (gensym 'break-enabled)) (struct will-executor/notify (we queue notify)) @@ -221,7 +221,9 @@ 'unsafe-make-place-local unsafe-make-place-local 'unsafe-place-local-ref unsafe-place-local-ref 'unsafe-place-local-set! unsafe-place-local-set! - 'unsafe-add-global-finalizer (lambda (v proc) (void)))) + 'unsafe-add-global-finalizer (lambda (v proc) (void)) + 'unsafe-root-continuation-prompt-tag unsafe-root-continuation-prompt-tag + 'break-enabled-key break-enabled-key)) (primitive-table '#%engine (hash 'make-engine make-engine @@ -231,8 +233,6 @@ (error "engine-return: not ready")) 'current-process-milliseconds current-process-milliseconds 'set-ctl-c-handler! set-ctl-c-handler! - 'root-continuation-prompt-tag root-continuation-prompt-tag - 'break-enabled-key break-enabled-key 'set-break-enabled-transition-hook! void 'continuation-marks continuation-marks ; doesn't work on engines 'poll-will-executors poll-will-executors diff --git a/racket/src/thread/host.rkt b/racket/src/thread/host.rkt index e3dcdec21c..29eaf3eff2 100644 --- a/racket/src/thread/host.rkt +++ b/racket/src/thread/host.rkt @@ -27,7 +27,9 @@ make-pthread-parameter unsafe-make-place-local unsafe-place-local-ref - unsafe-place-local-set!) + unsafe-place-local-set! + unsafe-root-continuation-prompt-tag + break-enabled-key) (bounce #%engine make-engine @@ -37,8 +39,6 @@ current-engine-state current-process-milliseconds set-ctl-c-handler! - root-continuation-prompt-tag - break-enabled-key set-break-enabled-transition-hook! [continuation-marks host:continuation-marks] diff --git a/racket/src/thread/thread.rkt b/racket/src/thread/thread.rkt index 7cbfe10dba..b7f42097e6 100644 --- a/racket/src/thread/thread.rkt +++ b/racket/src/thread/thread.rkt @@ -730,7 +730,7 @@ (continuation-mark-set-first #f break-enabled-key break-enabled-default-cell - (root-continuation-prompt-tag))) + (unsafe-root-continuation-prompt-tag))) (define break-enabled (case-lambda