<para>Use GHC's native code generator rather than
compiling via C. This will compile faster (up to twice as
fast), but may produce code that is slightly slower than
- compiling via C. <option>-fasm</option> is the default
- when optimisation is off (see <xref
- linkend="options-optimise"/>).</para>
+ compiling via C. <option>-fasm</option> is the default.</para>
</listitem>
</varlistentry>
</term>
<listitem>
<para>Compile via C instead of using the native code
- generator. This is default for optimised compilations,
- and on architectures for which GHC doesn't have a native
- code generator.</para>
+ generator. This is the default on architectures for which GHC
+ doesn't have a native code generator.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
+ <option>-fobject-code</option>
+ <indexterm><primary><option>-fobject-code</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Generate object code. This is the default outside of
+ GHCi, and can be used with GHCi to cause object code to be
+ generated in preference to bytecode.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-fbyte-code</option>
+ <indexterm><primary><option>-fbyte-code</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Generate byte-code instead of object-code. This is
+ the default in GHCi. Byte-code can currently only be used
+ in the interactive interpreter, not saved to disk. This
+ option is only useful for reversing the effect of
+ <option>-fobject-code</option>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<option>-fPIC</option>
<indexterm><primary><option>-fPIC</option></primary></indexterm>
</term>
<itemizedlist>
<listitem>
<para>Parallelism<indexterm><primary>parallelism</primary></indexterm> on a multiprocessor<indexterm><primary>multiprocessor</primary></indexterm><indexterm><primary>SMP</primary></indexterm> or multicore<indexterm><primary>multicore</primary></indexterm>
- machine. See <xref linkend="sec-using-smp" />.</para>
+ machine. See <xref linkend="using-smp" />.</para>
<para>The ability to make a foreign call that does not
block all other Haskell threads.</para>