mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-05 09:24:28 +00:00
#ifdef out unsafe tracing code, which fixes PR1689
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42205 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1338,20 +1338,6 @@ void Interpreter::callFunction(Function *F,
|
|||||||
StackFrame.VarArgs.assign(ArgVals.begin()+i, ArgVals.end());
|
StackFrame.VarArgs.assign(ArgVals.begin()+i, ArgVals.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrintGenericValue(const GenericValue &Val, const Type* Ty) {
|
|
||||||
switch (Ty->getTypeID()) {
|
|
||||||
default: assert(0 && "Invalid GenericValue Type");
|
|
||||||
case Type::VoidTyID: DOUT << "void"; break;
|
|
||||||
case Type::FloatTyID: DOUT << "float " << Val.FloatVal; break;
|
|
||||||
case Type::DoubleTyID: DOUT << "double " << Val.DoubleVal; break;
|
|
||||||
case Type::PointerTyID: DOUT << "void* " << intptr_t(Val.PointerVal); break;
|
|
||||||
case Type::IntegerTyID:
|
|
||||||
DOUT << "i" << Val.IntVal.getBitWidth() << " "
|
|
||||||
<< Val.IntVal.toStringUnsigned(10)
|
|
||||||
<< " (0x" << Val.IntVal.toStringUnsigned(16) << ")\n";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Interpreter::run() {
|
void Interpreter::run() {
|
||||||
while (!ECStack.empty()) {
|
while (!ECStack.empty()) {
|
||||||
@ -1364,12 +1350,28 @@ void Interpreter::run() {
|
|||||||
|
|
||||||
DOUT << "About to interpret: " << I;
|
DOUT << "About to interpret: " << I;
|
||||||
visit(I); // Dispatch to one of the visit* methods...
|
visit(I); // Dispatch to one of the visit* methods...
|
||||||
|
#if 0
|
||||||
|
// This is not safe, as visiting the instruction could lower it and free I.
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
if (!isa<CallInst>(I) && !isa<InvokeInst>(I) &&
|
if (!isa<CallInst>(I) && !isa<InvokeInst>(I) &&
|
||||||
I.getType() != Type::VoidTy) {
|
I.getType() != Type::VoidTy) {
|
||||||
DOUT << " --> ";
|
DOUT << " --> ";
|
||||||
PrintGenericValue(SF.Values[&I], I.getType());
|
const GenericValue &Val = SF.Values[&I];
|
||||||
|
switch (I.getType()->getTypeID()) {
|
||||||
|
default: assert(0 && "Invalid GenericValue Type");
|
||||||
|
case Type::VoidTyID: DOUT << "void"; break;
|
||||||
|
case Type::FloatTyID: DOUT << "float " << Val.FloatVal; break;
|
||||||
|
case Type::DoubleTyID: DOUT << "double " << Val.DoubleVal; break;
|
||||||
|
case Type::PointerTyID: DOUT << "void* " << intptr_t(Val.PointerVal);
|
||||||
|
break;
|
||||||
|
case Type::IntegerTyID:
|
||||||
|
DOUT << "i" << Val.IntVal.getBitWidth() << " "
|
||||||
|
<< Val.IntVal.toStringUnsigned(10)
|
||||||
|
<< " (0x" << Val.IntVal.toStringUnsigned(16) << ")\n";
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user