Package Locks in Compiled Code - SBCL 1.0.31 User Manual
Description: SBCL 1.0.31 User Manual

Next: Operations Violating Package Locks, Previous: Package Lock Violations, Up: Package Lock Concepts

#### 11.1.4 Package Locks in Compiled Code

##### 11.1.4.1 Interned Symbols

If file-compiled code contains interned symbols, then loading that code into an image without the said symbols will not cause a package lock violation, even if the packages in question are locked.

##### 11.1.4.2 Other Limitations on Compiled Code

With the exception of interned symbols, behaviour is unspecified if package locks affecting compiled code are not the same during loading of the code or execution.

Specifically, code compiled with packages unlocked may or may not fail to signal package-lock-violations even if the packages are locked at runtime, and code compiled with packages locked may or may not signal spurious package-lock-violations at runtime even if the packages are unlocked.

In practice all this means that package-locks have a negligible performance penalty in compiled code as long as they are not violated.