<p>This is the JITCodeEmitter patch, this is to facilitate cordening off the JIT code from the<br>future direct object emission code (i) supporting the upcoming ObjectCodeEmitter <br>class, on the X86, ARM, Alpha, and PowerPC platforms.  This involves generic <br>

parameterization of backend code emitters to allow code emission to allotted <br>class types, JITCodeEmitter and ObjectCodeEmitter.</p>
<p>    include/llvm/CodeGen/MachineCodeEmitter.h</p>
<p>     * untouched until ObjectCodeEmitter takes over its functionality in the <br>       MachO backend, then it will become an abstract class.</p>
<p>    include/llvm/CodeGen/JITCodeEmitter.h</p>
<p>     * new file - JITCodeEmitter inherits from MachineCodeEmitter, this divides <br>       and isolates off and takes over JIT code emission, JIT functionality, and <br>       facilitates future JIT developments.<br> <br>

    include/llvm/Target/TargetJITInfo.h</p>
<p>     * Replace references to MachineCodeEmitter instead of JITCodeEmitter.</p>
<p>    include/llvm/Target/TargetMachine.h<br>    lib/CodeGen/LLVMTargetMachine.cpp</p>
<p>     * added suport for JITCodeEmitter </p>
<p>    lib/Target/X86/X86.h<br>    lib/Target/X86/X86TargetMachine.h<br>    lib/Target/X86/X86TargetMachine.cpp<br>    lib/Target/X86/X86CodeEmitter.cpp</p>
<p>     * Parameterized to support JITCodeEmitter and in future ObjectCodeEmitter</p>
<p>    lib/Target/X86/X86JITInfo.h<br>    lib/Target/X86/X86JITInfo.cpp<br>    <br>     * Replaced references to MachineCodeEmitter with JITCodeEmitter.</p>
<p>    lib/Target/PowerPC/PPC.h<br>    lib/Target/PowerPC/PPCTargetMachine.h<br>    lib/Target/PowerPC/PPCTargetMachine.cpp<br>    lib/Target/PowerPC/PPCCodeEmitter.cpp</p>
<p>     * Parameterized to support JITCodeEmitter and in future ObjectCodeEmitter</p>
<p>    lib/Target/PowerPC/PPCJITInfo.h<br>    lib/Target/PowerPC/PPCJITInfo.cpp</p>
<p>     * Replaced references to MachineCodeEmitter with JITCodeEmitter.</p>
<p>    lib/Target/ARM/ARM.h<br>    lib/Target/ARM/ARMTargetMachine.h<br>    lib/Target/ARM/ARMTargetMachine.cpp<br>    lib/Target/ARM/ARMCodeEmitter.cpp</p>
<p>     * Parameterized to support JITCodeEmitter and in future ObjectCodeEmitter</p>
<p>    lib/Target/ARM/ARMJITInfo.h<br>    lib/Target/ARM/ARMJITInfo.cpp</p>
<p>     * Replaced references to MachineCodeEmitter with JITCodeEmitter.</p>
<p>    lib/Target/Alpha/Alpha.h<br>    lib/Target/Alpha/AlphaTargetMachine.h<br>    lib/Target/Alpha/AlphaTargetMachine.cpp<br>    lib/Target/Alpha/AlphaCodeEmitter.cpp</p>
<p>     * Parameterized to support JITCodeEmitter and in future ObjectCodeEmitter</p>
<p>    lib/Target/Alpha/AlphaJITInfo.h<br>    lib/Target/Alpha/AlphaJITInfo.cpp</p>
<p>     * Replaced references to MachineCodeEmitter with JITCodeEmitter.</p>
<p>    lib/ExecutionEngine/JIT/JIT.h<br>    lib/ExecutionEngine/JIT/JIT.cpp<br>    lib/ExecutionEngine/JIT/JITEmitter.cpp<br>    lib/ExecutionEngine/JIT/JITDwarfEmitter.h<br>    lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp</p>


<p>     * Modified to use JITCodeEmitter instead of MachineCodeEmitter</p>
<p>(i) <a href="http://wiki.llvm.org/Direct_Object_Code_Emission">http://wiki.llvm.org/Direct_Object_Code_Emission</a></p>
<p> </p>