diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-11-12 08:22:43 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-11-12 08:22:43 +0000 |
commit | e4df875dd602d8255e4e010ad2dfe2c3d25e8256 (patch) | |
tree | be9fb20896010788a5fff7bd9b0925109059cfac /llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp | |
parent | 5fc28718204a2def3e7998cf23321236c225d6e4 (diff) | |
download | bcm5719-llvm-e4df875dd602d8255e4e010ad2dfe2c3d25e8256.tar.gz bcm5719-llvm-e4df875dd602d8255e4e010ad2dfe2c3d25e8256.zip |
Change binary dump format.
llvm-svn: 59119
Diffstat (limited to 'llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp b/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp index d7348dd30fe..14705a4a966 100644 --- a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -965,18 +965,30 @@ bool JITEmitter::finishFunction(MachineFunction &F) { #ifndef NDEBUG { - DOUT << "JIT: Disassembled code:\n"; - if (sys::hasDisassembler()) + if (sys::hasDisassembler()) { + DOUT << "JIT: Disassembled code:\n"; DOUT << sys::disassembleBuffer(FnStart, FnEnd-FnStart, (uintptr_t)FnStart); - else { + } else { + DOUT << "JIT: Binary code:\n"; DOUT << std::hex; - int i; unsigned char* q = FnStart; - for (i=1; q!=FnEnd; q++, i++) { - if (i%8==1) - DOUT << "JIT: 0x" << (long)q << ": "; - DOUT<< std::setw(2) << std::setfill('0') << (unsigned short)*q << " "; - if (i%8==0) + for (int i = 0; q < FnEnd; q += 4, ++i) { + if (i == 4) + i = 0; + if (i == 0) + DOUT << "JIT: " << std::setw(8) << std::setfill('0') + << (long)(q - FnStart) << ": "; + bool Done = false; + for (int j = 3; j >= 0; --j) { + if (q + j >= FnEnd) + Done = true; + else + DOUT << std::setw(2) << std::setfill('0') << (unsigned short)q[j]; + } + if (Done) + break; + DOUT << ' '; + if (i == 3) DOUT << '\n'; } DOUT << std::dec; |