aboutsummaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/JIT/VM.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-05-14 13:26:47 +0000
committerChris Lattner <sabre@nondot.org>2003-05-14 13:26:47 +0000
commit6701a8603f7531618287d3d254055c5571dca0d3 (patch)
treeab1ecd7f4ef340a0efe12405a79e299eb54169bb /lib/ExecutionEngine/JIT/VM.cpp
parent7cfee5b2bba4d8acae7688bf6a955cd9cf9af534 (diff)
Add a framework for intercepting system calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6190 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT/VM.cpp')
-rw-r--r--lib/ExecutionEngine/JIT/VM.cpp23
1 files changed, 2 insertions, 21 deletions
diff --git a/lib/ExecutionEngine/JIT/VM.cpp b/lib/ExecutionEngine/JIT/VM.cpp
index 6fd366ede5..c6748fa1dc 100644
--- a/lib/ExecutionEngine/JIT/VM.cpp
+++ b/lib/ExecutionEngine/JIT/VM.cpp
@@ -1,4 +1,4 @@
-//===-- jello.cpp - LLVM Just in Time Compiler ----------------------------===//
+//===-- VM.cpp - LLVM Just in Time Compiler -------------------------------===//
//
// This tool implements a just-in-time compiler for LLVM, allowing direct
// execution of LLVM bytecode in an efficient manner.
@@ -9,8 +9,6 @@
#include "llvm/Target/TargetMachine.h"
#include "llvm/CodeGen/MachineCodeEmitter.h"
#include "llvm/Function.h"
-#include <dlfcn.h> // dlsym access
-
VM::~VM() {
delete MCE;
@@ -50,27 +48,10 @@ void *VM::resolveFunctionReference(void *RefAddr) {
}
const std::string &VM::getFunctionReferencedName(void *RefAddr) {
+ assert(FunctionRefs[RefAddr] && "Function address unknown!");
return FunctionRefs[RefAddr]->getName();
}
-static void NoopFn() {}
-
-/// getPointerToNamedFunction - This method returns the address of the specified
-/// function by using the dlsym function call. As such it is only useful for
-/// resolving library symbols, not code generated symbols.
-///
-void *VM::getPointerToNamedFunction(const std::string &Name) {
- // If it's an external function, look it up in the process image...
- void *Ptr = dlsym(0, Name.c_str());
- if (Ptr == 0) {
- std::cerr << "WARNING: Cannot resolve fn '" << Name
- << "' using a dummy noop function instead!\n";
- Ptr = (void*)NoopFn;
- }
-
- return Ptr;
-}
-
/// getPointerToFunction - This method is used to get the address of the
/// specified function, compiling it if neccesary.
///