aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2003-09-04 23:15:40 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2003-09-04 23:15:40 +0000
commit9ad671d54092464b0f385aa5447711eeaf03b17e (patch)
tree261b7f9f4948b1918d93de7c4a9f4d2d1e447862
parent8e539488816c9e52bde0af475f72cd3e6407d558 (diff)
downloadexternal_llvm-9ad671d54092464b0f385aa5447711eeaf03b17e.zip
external_llvm-9ad671d54092464b0f385aa5447711eeaf03b17e.tar.gz
external_llvm-9ad671d54092464b0f385aa5447711eeaf03b17e.tar.bz2
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
-rw-r--r--lib/ExecutionEngine/Interpreter/Execution.cpp38
-rw-r--r--lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h14
-rw-r--r--lib/ExecutionEngine/Interpreter/Interpreter.h3
3 files changed, 8 insertions, 47 deletions
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 79c404a..fc0beea 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -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.
//
diff --git a/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h b/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h
index 25b31cd..e17aa4b 100644
--- a/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h
+++ b/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h
@@ -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
diff --git a/lib/ExecutionEngine/Interpreter/Interpreter.h b/lib/ExecutionEngine/Interpreter/Interpreter.h
index 47f5c95..3af6726 100644
--- a/lib/ExecutionEngine/Interpreter/Interpreter.h
+++ b/lib/ExecutionEngine/Interpreter/Interpreter.h
@@ -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