[llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
Chris Lattner
clattner at apple.com
Sat Jan 20 12:54:15 PST 2007
>> // Update the GOT entry for F to point to the new code.
>> - if(MemMgr.isManagingGOT()) {
>> + if (MemMgr.isManagingGOT()) {
>> unsigned idx = getJITResolver(this).getGOTIndexForAddr((void*)
>> BufferBegin);
>> if (((void**)MemMgr.getGOTBase())[idx] != (void*)BufferBegin) {
>> DOUT << "GOT was out of date for " << (void*)BufferBegin
>> @@ -864,6 +865,18 @@
>> << ": " << (FnEnd-FnStart) << " bytes of text, "
>> << Relocations.size() << " relocations\n";
>> Relocations.clear();
>> +
>> + DOUT << "Disassembled code:\n"
>> +#if defined(__i386__)
>> + << disassembleBuffer(FnStart, FnEnd-FnStart,
>> + Disassembler::X86_32, (uint32_t)
>> FnStart);
>
> I'm not thrilled about having this system specific
> #if/#elif/#else/#endif in the JITEmitter. I would prefer to see the
> disassemblBuffer function become part of lib/System instead of
> lib/Support and DTRT for any combination of supported platforms. The
> list of disassembled architectures will grow over time (PPC/ARM/Sparc)
> and I'd rather not have this sprinkled across the users of
> disassembleBuffer but in one location in lib/System.
FWIW, I agree with Reid. I think disassembleBuffer can just assume
that we want to disassemble for the current ISA.
-Chris
More information about the llvm-commits
mailing list