<aname="l3"></a></span><ahref="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l186"><spanclass=cF4>JIT Compile Mode</span></a><spanclass=cF0> makes use of the current task's hash sym table and its parent tasks' tables. It fetches syms from parent
<aname="l8"></a>in many cases, especially in asm blks. Dupicates are allowed, by design in other cases, so that you can repeatedly </span><spanclass=cF2>#include</span><spanclass=cF0> the
<aname="l9"></a>same file from the cmd line while developing it. Or, so you can repeatedly declare a function with a standard name, like </span><spanclass=cF2>Draw
<aname="l10"></a>It()</span><spanclass=cF0>. This case might occur when the </span><ahref="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><spanclass=cF4>System Task</span></a><spanclass=cF0> is starting-up loading-in many little utilities.
<aname="l12"></a></span><spanclass=cF2>extern</span><spanclass=cF0> binds a new </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l827"><spanclass=cF4>HTT_FUN</span></a><spanclass=cF0> or </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l824"><spanclass=cF4>HTT_GLOBAL_VAR</span></a><spanclass=cF0> sym to an existing sym of the same name if it exists in the sym table (just in
<aname="l15"></a></span><spanclass=cF2>import</span><spanclass=cF0> binds a new </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l827"><spanclass=cF4>HTT_FUN</span></a><spanclass=cF0> or </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l824"><spanclass=cF4>HTT_GLOBAL_VAR</span></a><spanclass=cF0> sym to a sym of the same name imported from the task's sym table at </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KLoad.CC.html#l208"><spanclass=cF4>Load</span></a><spanclass=cF0>() time.
<aname="l16"></a>If no sym exists to bind to at </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KLoad.CC.html#l208"><spanclass=cF4>Load</span></a><spanclass=cF0>() time, the code using this sym will be left incomplete until the sym is defined.
<aname="l19"></a></span><spanclass=cF2>_extern</span><spanclass=cF0> binds a new </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l827"><spanclass=cF4>HTT_FUN</span></a><spanclass=cF0> or </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l824"><spanclass=cF4>HTT_GLOBAL_VAR</span></a><spanclass=cF0> sym to an existing sym, of a <blink>different</blink> name. It must exists in the sym table.
<aname="l22"></a></span><spanclass=cF2>_import</span><spanclass=cF0> binds a new </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l827"><spanclass=cF4>HTT_FUN</span></a><spanclass=cF0> or </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l824"><spanclass=cF4>HTT_GLOBAL_VAR</span></a><spanclass=cF0> sym to a sym, of a <blink>different</blink> name imported from the task's sym table at </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KLoad.CC.html#l208"><spanclass=cF4>Load</span></a><spanclass=cF0>()
<aname="l23"></a>time. If no sym exists to bind to at </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KLoad.CC.html#l208"><spanclass=cF4>Load</span></a><spanclass=cF0>() time, the code using this sym will be left incomplete until the sym is defined.
<aname="l104"></a>add code to fix this. You will get errors if a collision happens, so it's not very dangerous, but the error message is
<aname="l105"></a>baffling.
<aname="l106"></a>
<aname="l107"></a>* The member names </span><spanclass=cF2>pad</span><spanclass=cF0> and </span><spanclass=cF2>reserved</span><spanclass=cF0> are special because multiple instances with the same name are allowed in a class.
<aname="l109"></a>* Use </span><spanclass=cF2>reg</span><spanclass=cF0> or </span><spanclass=cF2>noreg</span><spanclass=cF0> in front of local var names to override automatic reg var allocation. You can, optionally, specify a reg
<aname="l119"></a>* In </span><spanclass=cF2>JIT</span><spanclass=cF0> asm code, &SYS_SYM and &Fun don't need </span><spanclass=cF2>IMPORT</span><spanclass=cF0>.
<aname="l120"></a>
<aname="l121"></a>* All offspring tasks of a task inherit syms.
<aname="l122"></a>
<aname="l123"></a>* The </span><spanclass=cF2>sizeof()</span><spanclass=cF0> and CosmiC structure members can be used in asm blks.
<aname="l125"></a>* Using </span><spanclass=cF2>&i</span><spanclass=cF0> in </span><ahref="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><spanclass=cF4>CosmiC</span></a><spanclass=cF0> or </span><spanclass=cF2>i.u8[2]</span><spanclass=cF0> on a local var, </span><spanclass=cF2>i</span><spanclass=cF0>, will force it to </span><spanclass=cF2>noreg</span><spanclass=cF0>.
<aname="l127"></a>* Using </span><spanclass=cF2>try</span><spanclass=cF0>/</span><spanclass=cF2>catch</span><spanclass=cF0> in a function will force all local vars to </span><spanclass=cF2>noreg</span><spanclass=cF0>.
<aname="l128"></a>
<aname="l129"></a>* An unused gap on the stack is left for </span><spanclass=cF2>reg</span><spanclass=cF0> vars.
<aname="l131"></a>* Note: </span><spanclass=cF2>static</span><spanclass=cF0> function vars do not go on the data heap, no matter the setting of the </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1684"><spanclass=cF4>OPTf_GLOBALS_ON_DATA_HEAP</span></a><spanclass=cF0>. They may in
<aname="l134"></a>* </span><ahref="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1681"><spanclass=cF4>OPTf_EXTERNS_TO_IMPORTS</span></a><spanclass=cF0> will treat </span><spanclass=cF2>_extern</span><spanclass=cF0> as </span><spanclass=cF2>_import</span><spanclass=cF0> and </span><spanclass=cF2>extern</span><spanclass=cF0> as </span><spanclass=cF2>import</span><spanclass=cF0>. This allows a header to be used either as a </span><spanclass=cF2>JIT