next up previous contents index
Next: Practical Difficulties Up: Block Compilation Previous: Block Compilation Declarations   Contents   Index


Compiler Arguments

block compilation arguments

The :block-compile and :entry-points arguments toextensions:compile-from-stream and (page [*])compile-file 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 ** (page [*])block-compile-default.)

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.


next up previous contents index
Next: Practical Difficulties Up: Block Compilation Previous: Block Compilation Declarations   Contents   Index
Peter Van Eynde 2001-03-08