From f143d3c2843f27bb2bf7d0e3c6f281fd0b01eb0b Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Fri, 24 Oct 2003 19:59:37 +0000 Subject: ExecutionEngine::create no longer takes a TraceMode argument. CurFrame, TraceMode, and the CachedWriter are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. printValue() and print() are history. executeInstruction() is now part of run(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9493 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/Interpreter/Interpreter.h | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'lib/ExecutionEngine') diff --git a/lib/ExecutionEngine/Interpreter/Interpreter.h b/lib/ExecutionEngine/Interpreter/Interpreter.h index e249a5e..851267d 100644 --- a/lib/ExecutionEngine/Interpreter/Interpreter.h +++ b/lib/ExecutionEngine/Interpreter/Interpreter.h @@ -15,15 +15,12 @@ #define LLI_INTERPRETER_H #include "llvm/BasicBlock.h" -#include "llvm/Assembly/CachedWriter.h" #include "llvm/ExecutionEngine/ExecutionEngine.h" #include "llvm/ExecutionEngine/GenericValue.h" #include "llvm/Support/InstVisitor.h" #include "llvm/Target/TargetData.h" #include "Support/DataTypes.h" -extern CachedWriter CW; // Object to accelerate printing of LLVM - struct FunctionInfo; // Defined in ExecutionAnnotations.h // AllocaHolder - Object to track all of the blocks of memory allocated by @@ -65,10 +62,8 @@ struct ExecutionContext { Function *CurFunction;// The currently executing function BasicBlock *CurBB; // The currently executing BB BasicBlock::iterator CurInst; // The next instruction to execute - FunctionInfo *FuncInfo; // The FuncInfo annotation for the function - std::vector Values;// ValuePlanes for each type + std::map Values; // LLVM values used in this invocation std::vector VarArgs; // Values passed through an ellipsis - CallInst *Caller; // Holds the call that called subframes. // NULL if main func or debugger invoked fn AllocaHolderHandle Allocas; // Track memory allocated by alloca @@ -78,8 +73,6 @@ struct ExecutionContext { // class Interpreter : public ExecutionEngine, public InstVisitor { int ExitCode; // The exit code to be returned by the lli util - bool Trace; // Tracing enabled? - int CurFrame; // The current stack frame being inspected TargetData TD; // The runtime stack of executing code. The top of the stack is the current @@ -90,11 +83,9 @@ class Interpreter : public ExecutionEngine, public InstVisitor { // registered with the atexit() library function. std::vector AtExitHandlers; - std::map FunctionInfoMap; public: - Interpreter(Module *M, bool isLittleEndian, bool isLongPointer, - bool TraceMode); - inline ~Interpreter() { CW.setModule(0); } + Interpreter(Module *M, bool isLittleEndian, bool isLongPointer); + inline ~Interpreter() { } /// runAtExitHandlers - Run any functions registered by the /// program's calls to atexit(3), which we intercept and store in @@ -104,21 +95,16 @@ public: /// create - Create an interpreter ExecutionEngine. This can never fail. /// - static ExecutionEngine *create(Module *M, bool TraceMode); + static ExecutionEngine *create(Module *M); /// run - Start execution with the specified function and arguments. /// virtual GenericValue run(Function *F, const std::vector &ArgValues); - // Methods used for debug printouts: - static void print(const Type *Ty, GenericValue V); - static void printValue(const Type *Ty, GenericValue V); - // Methods used to execute code: // Place a call on the stack void callFunction(Function *F, const std::vector &ArgVals); - void executeInstruction(); // Execute one instruction void run(); // Execute instructions until nothing left to do // Opcode Implementations -- cgit v1.1