diff options
author | Andy Wingo <wingo@pobox.com> | 2017-03-09 10:42:58 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2017-03-09 10:44:09 +0100 |
commit | e7d341407950d504e80f92588d08f3a7c81bee37 (patch) | |
tree | 9f2e3aae6e4dad3c39d71c1ac075d42f2142c295 /module | |
parent | bfa38835923800b5aa69a254b4fe8cf0858dca67 (diff) |
Adapt statprof to new preemptive interrupts
* module/statprof.scm (profile-signal-handler): Cut an additional stack
frame, corresponding to the handle-interrupts trampoline added
recently.
Diffstat (limited to 'module')
-rw-r--r-- | module/statprof.scm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/module/statprof.scm b/module/statprof.scm index 1efb15dff..a58fc6da6 100644 --- a/module/statprof.scm +++ b/module/statprof.scm @@ -275,9 +275,11 @@ ;; handler in an inner letrec, so that the compiler sees ;; the inner reference to profile-signal-handler as the ;; same as the procedure, and therefore keeps slot 0 - ;; alive. Nastiness, that. + ;; alive. Nastiness, that. Finally we cut one more + ;; inner frame, corresponding to the handle-interrupts + ;; trampoline. (stack - (or (make-stack #t profile-signal-handler (outer-cut state)) + (or (make-stack #t profile-signal-handler (outer-cut state) 1) (pk 'what! (make-stack #t))))) (sample-stack-procs state stack) |