[vmkit-commits] [vmkit] r198161 - abort most of the stupid ideas that I have tested in r198134
Gael Thomas
gael.thomas at lip6.fr
Sun Dec 29 01:33:22 PST 2013
Author: gthomas
Date: Sun Dec 29 03:33:20 2013
New Revision: 198161
URL: http://llvm.org/viewvc/llvm-project?rev=198161&view=rev
Log:
abort most of the stupid ideas that I have tested in r198134
Modified:
vmkit/branches/mcjit/include/vmkit/compiler.h
vmkit/branches/mcjit/lib/vmkit/compiler.cc
vmkit/branches/mcjit/tools/vmkit-extract/main.cc
Modified: vmkit/branches/mcjit/include/vmkit/compiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/vmkit/compiler.h?rev=198161&r1=198160&r2=198161&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/vmkit/compiler.h (original)
+++ vmkit/branches/mcjit/include/vmkit/compiler.h Sun Dec 29 03:33:20 2013
@@ -35,21 +35,16 @@ namespace vmkit {
};
class CompilationUnit : public llvm::SectionMemoryManager {
- typedef std::map<const char*, llvm::GlobalValue*, Util::char_less_t,
- StdAllocator<std::pair<const char*, llvm::GlobalValue*> > > MangleMap;
typedef std::map<const char*, Symbol*, Util::char_less_t, StdAllocator<std::pair<const char*, Symbol*> > > SymbolMap;
VMKit* _vmkit;
BumpAllocator* _allocator;
- MangleMap _mangleMap;
SymbolMap _symbolTable;
pthread_mutex_t _mutexSymbolTable;
llvm::ExecutionEngine* _ee;
llvm::ExecutionEngine* _oldee;
llvm::PassManager* pm;
- void addSymbol(llvm::GlobalValue* gv);
-
protected:
void operator delete(void* self);
Modified: vmkit/branches/mcjit/lib/vmkit/compiler.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/vmkit/compiler.cc?rev=198161&r1=198160&r2=198161&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/vmkit/compiler.cc (original)
+++ vmkit/branches/mcjit/lib/vmkit/compiler.cc Sun Dec 29 03:33:20 2013
@@ -33,10 +33,7 @@ void* CompilationUnit::operator new(size
void CompilationUnit::operator delete(void* self) {
}
-#include <sys/time.h>
-
CompilationUnit::CompilationUnit(BumpAllocator* allocator, VMKit* vmkit, const char* id) :
- _mangleMap(Util::char_less, allocator),
_symbolTable(vmkit::Util::char_less, allocator) {
_allocator = allocator;
pthread_mutex_init(&_mutexSymbolTable, 0);
@@ -45,28 +42,6 @@ CompilationUnit::CompilationUnit(BumpAll
std::string err;
- struct timeval start, end;
- gettimeofday(&start, 0);
-
- llvm::LLVMContext* context = new llvm::LLVMContext();
- llvm::OwningPtr<llvm::MemoryBuffer> buf;
- if (llvm::MemoryBuffer::getFile(vm()->selfBitCodePath(), buf))
- VMKit::internalError(L"Error while opening bitcode file %s", vm()->selfBitCodePath());
- llvm::Module* module = llvm::getLazyBitcodeModule(buf.take(), *context, &err);
-
- if(!module)
- VMKit::internalError(L"Error while reading bitcode file %s: %s", vm()->selfBitCodePath(), err.c_str());
-
- for(llvm::Module::iterator cur=module->begin(); cur!=module->end(); cur++)
- addSymbol(cur);
-
- for(llvm::Module::global_iterator cur=module->global_begin(); cur!=module->global_end(); cur++)
- addSymbol(cur);
-
- gettimeofday(&end, 0);
- double d = start.tv_sec*1. + start.tv_usec*1e-6 - end.tv_sec*1. -end.tv_usec*1e-6;
- fprintf(stderr, " took: %lf\n", d);
-
llvm::TargetOptions opt;
opt.NoFramePointerElim = 1;
@@ -140,19 +115,6 @@ CompilationUnit::~CompilationUnit() {
delete _oldee;
}
-void CompilationUnit::addSymbol(llvm::GlobalValue* gv) {
- const char* id = gv->getName().data();
- int status;
- char* realname;
- realname = abi::__cxa_demangle(id, 0, 0, &status);
- const char* tmp = realname ? realname : id;
- uint32_t length = strlen(tmp);
- char* mangled = (char*)allocator()->allocate(length+1);
- strcpy(mangled, tmp);
- _mangleMap[mangled] = gv;
- free(realname);
-}
-
void CompilationUnit::destroy(CompilationUnit* unit) {
delete unit;
BumpAllocator::destroy(unit->allocator());
Modified: vmkit/branches/mcjit/tools/vmkit-extract/main.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/tools/vmkit-extract/main.cc?rev=198161&r1=198160&r2=198161&view=diff
==============================================================================
--- vmkit/branches/mcjit/tools/vmkit-extract/main.cc (original)
+++ vmkit/branches/mcjit/tools/vmkit-extract/main.cc Sun Dec 29 03:33:20 2013
@@ -62,6 +62,8 @@ int main(int argc, char** argv) {
*e = 0;
llvm::GlobalValue* gv = mangler[p];
+ //gv->setName(p);
+
if(gv) {
extracted.push_back(gv);
if (gv->isMaterializable()) {
More information about the vmkit-commits
mailing list