~ chicken-core (chicken-5) 688567dc03282d40971efc76320d312f834b86a7


commit 688567dc03282d40971efc76320d312f834b86a7
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sun May 3 10:06:38 2020 +1200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun May 3 12:45:47 2020 +0200

    Mark identifiers used to collect profiling info as `bound-to-procedure'
    
    Calls to `##sys#register-profile-info' and `set-profile-info-vector!`
    are inserted into the program when profiling is enabled, so they should
    be marked as procedures so the resulting call nodes are marked as safe,
    just like we do for the `##sys#profile-entry' and `exit' procedures.
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/c-platform.scm b/c-platform.scm
index 9d20a524..19a4c97f 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -72,8 +72,10 @@
 (define default-profiling-declarations
   '((##core#declare
      (uses profiler)
-     (bound-to-procedure
-       ##sys#profile-entry ##sys#profile-exit) ) ) )
+     (bound-to-procedure ##sys#profile-entry
+			 ##sys#profile-exit
+			 ##sys#register-profile-info
+			 ##sys#set-profile-info-vector!))))
 
 (define default-units '(library eval))
 
Trap