Determines if the test coverage annotation is inserted into the code.
This parameter controls how compilation happens – it does not affect the
dynamic behavior of the already compiled code. If the parameter is set,
calls to test-covered
are inserted into the code (and
is called during compilation).
If not, no calls to test-covered are inserted.
This is called during compilation of the program with a key value once
for each point with the key for that program point that was passed to
If the result is #f, this program point is not
instrumented. If the result is syntax, it is inserted into the code,
and if it is a thunk, the thunk is inserted into the code in an
application. In either case, the syntax or the thunk should register
that the relevant point was covered.
During compilation of the program, this function is called with each
sub-expression of the program. The first argument is a special key
used to identify this program point. The second argument is the
syntax of this program point.
Only used for profiling paths.
Determines if profiling information is currently collected (affects
the behavior of compiling the code – does not affect running code).
If this always returns #f, the other profiling functions are
Called as the program is compiled for each profiling point that
might be encountered during the program’s execution. The first
argument is a key identifying this code. The second argument is the
inferred name at this point and the final argument is the syntax of
Called when some profiled code is about to be executed. If the
result is a number, it is expected to be the current number of
is unique to this fragment of code – it is
the same key passed to initialize-profile-point
for this code
This function is called when some profiled code is finished executing.
Note that register-profile-start and
register-profile-done can be called in a nested manner; in
this case, the result of register-profile-start should be