Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 723830890bac44da3d113209b14e090b > files > 577

sbcl-1.0.31-1mdv2010.0.i586.rpm

<html lang="en">
<head>
<title>Package Locks in Compiled Code - SBCL 1.0.31 User Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="SBCL 1.0.31 User Manual">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Package-Lock-Concepts.html#Package-Lock-Concepts" title="Package Lock Concepts">
<link rel="prev" href="Package-Lock-Violations.html#Package-Lock-Violations" title="Package Lock Violations">
<link rel="next" href="Operations-Violating-Package-Locks.html#Operations-Violating-Package-Locks" title="Operations Violating Package Locks">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--

     This manual is part of the SBCL software system. See the `README'
     file for more information.

     This manual is largely derived from the manual for the CMUCL
     system, which was produced at Carnegie Mellon University and later
     released into the public domain. This manual is in the public
     domain and is provided with absolutely no warranty. See the
     `COPYING' and `CREDITS' files for more information.
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Package-Locks-in-Compiled-Code"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Operations-Violating-Package-Locks.html#Operations-Violating-Package-Locks">Operations Violating Package Locks</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Package-Lock-Violations.html#Package-Lock-Violations">Package Lock Violations</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Package-Lock-Concepts.html#Package-Lock-Concepts">Package Lock Concepts</a>
<hr>
</div>

<h4 class="subsection">11.1.4 Package Locks in Compiled Code</h4>

<h5 class="subsubsection">11.1.4.1 Interned Symbols</h5>

<p>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.

<h5 class="subsubsection">11.1.4.2 Other Limitations on Compiled Code</h5>

<p>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.

   <p>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.

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

   </body></html>