[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