cs: avoid unnecessary work in exception handler
This commit is contained in:
parent
ae4b101ec5
commit
40b5fffb80
|
@ -1226,6 +1226,9 @@
|
||||||
(cons (continuation->trace k)
|
(cons (continuation->trace k)
|
||||||
(get-metacontinuation-traces (current-metacontinuation))))))]))
|
(get-metacontinuation-traces (current-metacontinuation))))))]))
|
||||||
|
|
||||||
|
(define/who (current-continuation-marks/no-trace)
|
||||||
|
(make-continuation-mark-set (current-mark-chain) null))
|
||||||
|
|
||||||
;; Wrapped a threads layer to handle thread arguments:
|
;; Wrapped a threads layer to handle thread arguments:
|
||||||
(define/who continuation-marks
|
(define/who continuation-marks
|
||||||
(case-lambda
|
(case-lambda
|
||||||
|
|
|
@ -692,7 +692,7 @@
|
||||||
(not (non-continuable-violation? v)))
|
(not (non-continuable-violation? v)))
|
||||||
(log-system-message 'warning (exn->string exn))]
|
(log-system-message 'warning (exn->string exn))]
|
||||||
[else
|
[else
|
||||||
(let ([hs (continuation-mark-set->list (current-continuation-marks the-root-continuation-prompt-tag)
|
(let ([hs (continuation-mark-set->list (current-continuation-marks/no-trace)
|
||||||
exception-handler-key
|
exception-handler-key
|
||||||
the-root-continuation-prompt-tag)]
|
the-root-continuation-prompt-tag)]
|
||||||
[init-v (condition->exn v)])
|
[init-v (condition->exn v)])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user