<div>Chris,</div>
<div> </div>
<div>If you/we do not like this code, then the alternatives are :-</div>
<div>1) Leave as is, which I would not suggest.</div>
<div>2) Revert to using MachineCodeEmitter like mechanics with virtual extend() method to allow rebuffering with ObjectCodeEmitter providing the memory management.</div>
<div>3) Don't really know of any other alternatives :)</div>
<div> </div>
<div>2 maybe the best compromise option. Its easy to code, removes templating from the CodeEmitters, and is virtually transparent to our other DOE work. The only thing it does not write via a BinaryObject object, so we loose that functionality.</div>


<div> </div>
<div>Best regards,</div>
<div> </div>
<div>Aaron<br><br></div>
<div class="gmail_quote">2009/7/14 Aaron Gray <span dir="ltr"><<a href="mailto:aaronngray.lists@googlemail.com">aaronngray.lists@googlemail.com</a>></span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi Chris,</div>
<div> </div>
<div>Heres the patch to separate out ObjectCodeEmitter instatiated CodeEmitters from JITCodeEmitter ones. It also demotes MachineCodeEmitter to a base class of JitCodeEmitter and ObjectCodeEmitter.</div>
<div> </div>
<div>It quite a big patch.</div>
<div> </div>
<div>It removes X86CodeEmitter.cpp</div>
<div> </div>
<div>And adds X86JITCodeEmitter.cpp, X86ObjectCodeEmitter.cpp, PPCJITCodeEmitter.cpp, PPCObjectCodeEmitter.cpp, ARMJITCodeEmitter.cpp, ARMObjectCodeEmitter.cpp, AlphaJITCodeEmitter.cpp, and AlphaObjectCodeEmitter.cpp.</div>


<div> </div><font color="#888888">
<div>Aaron</div>
<div> </div></font></blockquote></div><br>