Return what the profiled code returns.

This commit is contained in:
Vincent St-Amour 2013-06-04 17:38:24 -04:00
parent a22e1ff218
commit 4a72221a9c

View File

@ -204,9 +204,11 @@
(define-syntax-rule (contract-profile/user body ...)
(let ([sampler (create-sampler (current-thread) 0.005 (current-custodian)
(list contract-continuation-mark-key))])
body ...
(sampler 'stop)
(define samples (sampler 'get-snapshots))
(define contract-samples (for/list ([s (in-list (sampler 'get-custom-snapshots))])
(and s (vector-ref s 0))))
(analyze-contract-samples contract-samples samples)))
(begin0 (begin body ...)
(let ()
(sampler 'stop)
(define samples (sampler 'get-snapshots))
(define contract-samples
(for/list ([s (in-list (sampler 'get-custom-snapshots))])
(and s (vector-ref s 0))))
(analyze-contract-samples contract-samples samples)))))