diff options
-rw-r--r-- | masm/stubs/WTFStubs.cpp | 2 | ||||
-rw-r--r-- | qv4isel_masm.cpp | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/masm/stubs/WTFStubs.cpp b/masm/stubs/WTFStubs.cpp index 2c642ac986..e4009b8315 100644 --- a/masm/stubs/WTFStubs.cpp +++ b/masm/stubs/WTFStubs.cpp @@ -27,7 +27,7 @@ uint32_t cryptographicallyRandomNumber() return 0; } -static FILE* s_dataFile = stdout; +static FILE* s_dataFile = stderr; void setDataFile(FILE* f) { diff --git a/qv4isel_masm.cpp b/qv4isel_masm.cpp index e6334970fd..98b9a71f50 100644 --- a/qv4isel_masm.cpp +++ b/qv4isel_masm.cpp @@ -19,7 +19,7 @@ using namespace QQmlJS::MASM; using namespace QQmlJS::VM; namespace { -QTextStream qout(stdout, QIODevice::WriteOnly); +QTextStream qout(stderr, QIODevice::WriteOnly); } static void printDisassmbleOutputWithCalls(const char* output, const QHash<void*, const char*>& functions) @@ -31,7 +31,7 @@ static void printDisassmbleOutputWithCalls(const char* output, const QHash<void* ptrString.prepend("0x"); processedOutput = processedOutput.replace(ptrString, it.value()); } - fprintf(stdout, "%s\n", processedOutput.constData()); + fprintf(stderr, "%s\n", processedOutput.constData()); } InstructionSelection::InstructionSelection(VM::ExecutionEngine *engine, IR::Module *module, uchar *buffer) @@ -102,9 +102,12 @@ void InstructionSelection::operator()(IR::Function *function) FILE* disasmStream = open_memstream(&disasmOutput, &disasmLength); WTF::setDataFile(disasmStream); - _function->codeRef = linkBuffer.finalizeCodeWithDisassembly("operator()(IR::Function*)"); + QByteArray name = _function->name->toUtf8(); + if (name.startsWith('%')) + name.prepend('%'); + _function->codeRef = linkBuffer.finalizeCodeWithDisassembly(name.data()); - WTF::setDataFile(stdout); + WTF::setDataFile(stderr); fclose(disasmStream); #if CPU(X86) || CPU(X86_64) printDisassmbleOutputWithCalls(disasmOutput, functions); |