mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-17 16:16:48 -05:00
5 lines
No EOL
2.2 KiB
HTML
5 lines
No EOL
2.2 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Lift_let_to_initialize_symbol (ocaml.Lift_let_to_initialize_symbol)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">ocaml</a> » Lift_let_to_initialize_symbol</nav><header class="odoc-preamble"><h1>Module <code><span>Lift_let_to_initialize_symbol</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value anchored" id="val-lift"><a href="#val-lift" class="anchor"></a><code><span><span class="keyword">val</span> lift :
|
||
<span>backend:<span>(<span class="keyword">module</span> <a href="../Backend_intf/module-type-S/index.html">Backend_intf.S</a>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="../Flambda/index.html#type-program">Flambda.program</a> <span class="arrow">-></span></span>
|
||
<a href="../Flambda/index.html#type-program">Flambda.program</a></span></code></div><div class="spec-doc"><p>Lift toplevel <code>Let</code>-expressions to Flambda <code>program</code> constructions such that the results of evaluation of such expressions may be accessed directly, through symbols, rather than through closures. The <code>Let</code>-expressions typically come from the compilation of modules (using the bytecode strategy) in <code>Translmod</code>.</p><p>This means of compilation supersedes the old "transl_store_" methodology for native code.</p><p>An <code>Initialize_symbol</code> construction generated by this pass may be subsequently rewritten to <code>Let_symbol</code> if it is discovered that the initializer is in fact constant. (See <code>Initialize_symbol_to_let_symbol</code>.)</p><p>The <code>program</code> constructions generated by this pass will be joined by others that arise from the lifting of constants (see <code>Lift_constants</code>).</p></div></div></div></body></html> |