next up previous contents
Next: 5.7.4 Practical Difficulties Up: 5.7 Block Compilation Previous: 5.7.2 Block Compilation Declarations

5.7.3 Compiler Arguments

   

The :block-compile and :entry-points arguments to extensions:compile-from-stream and  compile-file (page gif) provide overall control of block compilation, and allow block compilation without requiring modification of the program source.

There are three possible values of the :block-compile argument:

nil
Do no compile-time resolution of global function names, not even for self-recursive calls. This inhibits any start-block declarations appearing in the file, allowing all functions to be incrementally redefined.

t
Start compiling in block compilation mode. This is mainly useful for block compiling small files that contain no start-block declarations. See also the :entry-points argument.

:specified
Start compiling in form-at-a-time mode, but exploit start-block declarations and compile self-recursive calls as local calls. Normally :specified is the default for this argument (see  *block-compile-default* (page gif).)

The :entry-points argument can be used in conjunction with :block-compile t to specify the entry-points to a block-compiled file. If not specified or nil, all global functions will be compiled as entry points. When :block-compile is not t, this argument is ignored.

[Variable]
* block-compile-default*

This variable determines the default value for the :block-compile argument to compile-file and compile-from-stream. The initial value of this variable is :specified, but nil is sometimes useful for totally inhibiting block compilation.



Raymond Toy
Mon Jul 14 09:11:27 EDT 1997