mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 08:29:43 +00:00
Remove support for breakpoints (not used).
Remove some dead code and whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8346 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8e53948881
commit
9ad671d540
@ -1019,10 +1019,9 @@ void Interpreter::callFunction(Function *F,
|
||||
StackFrame.VarArgs.assign(ArgVals.begin()+i, ArgVals.end());
|
||||
}
|
||||
|
||||
// executeInstruction - Interpret a single instruction, increment the "PC", and
|
||||
// return true if the next instruction is a breakpoint...
|
||||
// executeInstruction - Interpret a single instruction & increment the "PC".
|
||||
//
|
||||
bool Interpreter::executeInstruction() {
|
||||
void Interpreter::executeInstruction() {
|
||||
assert(!ECStack.empty() && "No program running, cannot execute inst!");
|
||||
|
||||
ExecutionContext &SF = ECStack.back(); // Current stack frame
|
||||
@ -1037,11 +1036,8 @@ bool Interpreter::executeInstruction() {
|
||||
// instruction execution...
|
||||
//
|
||||
if (int SigNo = sigsetjmp(SignalRecoverBuffer, 1)) {
|
||||
--SF.CurInst; // Back up to erroring instruction
|
||||
std::cout << "EXCEPTION OCCURRED [" << strsignal(SigNo) << "]\n";
|
||||
exit(1);
|
||||
InInstruction = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
InInstruction = true;
|
||||
@ -1050,11 +1046,6 @@ bool Interpreter::executeInstruction() {
|
||||
|
||||
// Reset the current frame location to the top of stack
|
||||
CurFrame = ECStack.size()-1;
|
||||
|
||||
if (CurFrame == -1) return false; // No breakpoint if no code
|
||||
|
||||
// Return true if there is a breakpoint annotation on the instruction...
|
||||
return ECStack[CurFrame].CurInst->getAnnotation(BreakpointAID) != 0;
|
||||
}
|
||||
|
||||
void Interpreter::stepInstruction() { // Do the 'step' command
|
||||
@ -1082,12 +1073,7 @@ void Interpreter::nextInstruction() { // Do the 'next' command
|
||||
if (ECStack.back().CurInst->getOpcode() == Instruction::Call) {
|
||||
unsigned StackSize = ECStack.size();
|
||||
// Step into the function...
|
||||
if (executeInstruction()) {
|
||||
// Hit a breakpoint, print current instruction, then return to user...
|
||||
std::cout << "Breakpoint hit!\n";
|
||||
printCurrentInstruction();
|
||||
return;
|
||||
}
|
||||
executeInstruction();
|
||||
|
||||
// If we we able to step into the function, finish it now. We might not be
|
||||
// able the step into a function, if it's external for example.
|
||||
@ -1108,15 +1094,11 @@ void Interpreter::run() {
|
||||
return;
|
||||
}
|
||||
|
||||
bool HitBreakpoint = false;
|
||||
while (!ECStack.empty() && !HitBreakpoint) {
|
||||
while (!ECStack.empty()) {
|
||||
// Run an instruction...
|
||||
HitBreakpoint = executeInstruction();
|
||||
executeInstruction();
|
||||
}
|
||||
|
||||
if (HitBreakpoint)
|
||||
std::cout << "Breakpoint hit!\n";
|
||||
|
||||
// Print the next instruction to execute...
|
||||
printCurrentInstruction();
|
||||
}
|
||||
@ -1128,21 +1110,15 @@ void Interpreter::finish() {
|
||||
}
|
||||
|
||||
unsigned StackSize = ECStack.size();
|
||||
bool HitBreakpoint = false;
|
||||
while (ECStack.size() >= StackSize && !HitBreakpoint) {
|
||||
while (ECStack.size() >= StackSize) {
|
||||
// Run an instruction...
|
||||
HitBreakpoint = executeInstruction();
|
||||
executeInstruction();
|
||||
}
|
||||
|
||||
if (HitBreakpoint)
|
||||
std::cout << "Breakpoint hit!\n";
|
||||
|
||||
// Print the next instruction to execute...
|
||||
printCurrentInstruction();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// printCurrentInstruction - Print out the instruction that the virtual PC is
|
||||
// at, or fail silently if no program is running.
|
||||
//
|
||||
|
@ -37,7 +37,6 @@ private:
|
||||
unsigned getValueSlot(const Value *V);
|
||||
};
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Support for the SlotNumber annotation
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -58,9 +57,6 @@ struct SlotNumber : public Annotation {
|
||||
SlotNum(sn) {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Support for the InstNumber annotation
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -79,14 +75,4 @@ struct InstNumber : public SlotNumber {
|
||||
InstNumber(unsigned in, unsigned sn) : SlotNumber(sn), InstNum(in) {}
|
||||
};
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Support for the Breakpoint annotation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static AnnotationID BreakpointAID(
|
||||
AnnotationManager::getID("Interpreter::Breakpoint"));
|
||||
// Just use an Annotation directly, Breakpoint is currently just a marker
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -111,7 +111,6 @@ public:
|
||||
|
||||
// User Interation Methods...
|
||||
bool callFunction(const std::string &Name); // return true on failure
|
||||
void setBreakpoint(const std::string &Name);
|
||||
void infoValue(const std::string &Name);
|
||||
void print(const std::string &Name);
|
||||
static void print(const Type *Ty, GenericValue V);
|
||||
@ -125,7 +124,7 @@ public:
|
||||
|
||||
// Code execution methods...
|
||||
void callFunction(Function *F, const std::vector<GenericValue> &ArgVals);
|
||||
bool executeInstruction(); // Execute one instruction...
|
||||
void executeInstruction(); // Execute one instruction...
|
||||
|
||||
void stepInstruction(); // Do the 'step' command
|
||||
void nextInstruction(); // Do the 'next' command
|
||||
|
Loading…
Reference in New Issue
Block a user