[vmkit-commits] [vmkit] r197334 - move symbols in vmkit

Gael Thomas gael.thomas at lip6.fr
Sun Dec 15 01:51:18 PST 2013


Author: gthomas
Date: Sun Dec 15 03:51:17 2013
New Revision: 197334

URL: http://llvm.org/viewvc/llvm-project?rev=197334&view=rev
Log:
move symbols in vmkit

Added:
    vmkit/branches/mcjit/include/vmkit/compiler.h
    vmkit/branches/mcjit/lib/vmkit/compiler.cc
Removed:
    vmkit/branches/mcjit/include/j3/j3symbol.h
    vmkit/branches/mcjit/lib/j3/vm/j3symbol.cc
Modified:
    vmkit/branches/mcjit/include/j3/j3class.h
    vmkit/branches/mcjit/include/j3/j3classloader.h
    vmkit/branches/mcjit/include/j3/j3method.h
    vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
    vmkit/branches/mcjit/lib/j3/vm/j3method.cc

Modified: vmkit/branches/mcjit/include/j3/j3class.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3class.h?rev=197334&r1=197333&r2=197334&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3class.h (original)
+++ vmkit/branches/mcjit/include/j3/j3class.h Sun Dec 15 03:51:17 2013
@@ -5,7 +5,7 @@
 #include <stdint.h>
 #include <vector>
 
-#include "j3/j3symbol.h"
+#include "vmkit/compiler.h"
 
 namespace llvm {
 	class Type;
@@ -31,7 +31,7 @@ namespace j3 {
 	class J3ObjectHandle;
 	class J3Field;
 
-	class J3Type : public J3Symbol {
+	class J3Type : public vmkit::Symbol {
 		pthread_mutex_t        _mutex;
 		J3ClassLoader*         _loader;
 		J3ArrayClass* volatile _array;

Modified: vmkit/branches/mcjit/include/j3/j3classloader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3classloader.h?rev=197334&r1=197333&r2=197334&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3classloader.h (original)
+++ vmkit/branches/mcjit/include/j3/j3classloader.h Sun Dec 15 03:51:17 2013
@@ -11,6 +11,10 @@
 
 #include "j3/j3object.h"
 
+namespace vmkit {
+	class Symbol;
+}
+
 namespace llvm {
 	class ExecutionEngine;
 }
@@ -23,7 +27,6 @@ namespace j3 {
 	class J3Type;
 	class J3;
 	class J3Class;
-	class J3Symbol;
 
 	class J3ClassLoader : public llvm::SectionMemoryManager {
 		struct J3MethodLess : public std::binary_function<wchar_t*,wchar_t*,bool> {
@@ -33,8 +36,8 @@ namespace j3 {
 		typedef std::map<J3Method*, J3Method*, J3MethodLess,
 										 vmkit::StdAllocator<std::pair<J3Method*, J3Method*> > > MethodRefMap;
 
-		typedef std::map<const char*, J3Symbol*, vmkit::Util::char_less_t,
-										 vmkit::StdAllocator<std::pair<const char*, J3Symbol*> > > SymbolMap;
+		typedef std::map<const char*, vmkit::Symbol*, vmkit::Util::char_less_t,
+										 vmkit::StdAllocator<std::pair<const char*, vmkit::Symbol*> > > SymbolMap;
 
 		static J3MethodLess  j3MethodLess;
 
@@ -70,7 +73,7 @@ namespace j3 {
 		llvm::ExecutionEngine*        ee() { return _ee; }
 		llvm::ExecutionEngine*        oldee() { return _oldee; }
 
-		void                          addSymbol(const char* id, J3Symbol* symbol);
+		void                          addSymbol(const char* id, vmkit::Symbol* symbol);
 
 		static void                   destroy(J3ClassLoader* loader);
 

Modified: vmkit/branches/mcjit/include/j3/j3method.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3method.h?rev=197334&r1=197333&r2=197334&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3method.h (original)
+++ vmkit/branches/mcjit/include/j3/j3method.h Sun Dec 15 03:51:17 2013
@@ -4,7 +4,7 @@
 #include <stdint.h>
 #include <vector>
 
-#include "j3/j3symbol.h"
+#include "vmkit/compiler.h"
 
 namespace llvm {
 	class FunctionType;
@@ -46,7 +46,7 @@ namespace j3 {
 		}
 	};
 
-	class J3MethodCode : public J3Symbol {
+	class J3MethodCode : public vmkit::Symbol {
 	public:
 		J3Method* self;
 
@@ -55,7 +55,7 @@ namespace j3 {
 		uint8_t* getSymbolAddress();
 	};
 
-	class J3Method : public J3Symbol {
+	class J3Method : public vmkit::Symbol {
 	public:
 		J3MethodCode                 _selfCode;
 		uint16_t                     _access;

Removed: vmkit/branches/mcjit/include/j3/j3symbol.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3symbol.h?rev=197333&view=auto
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3symbol.h (original)
+++ vmkit/branches/mcjit/include/j3/j3symbol.h (removed)
@@ -1,21 +0,0 @@
-#ifndef _J3_SYMBOL_H_
-#define _J3_SYMBOL_H_
-
-#include "vmkit/allocator.h"
-
-namespace j3 {
-	class J3Symbol : public vmkit::PermanentObject {
-	public:
-		virtual uint8_t* getSymbolAddress();
-	};
-
-	class J3NativeSymbol : public J3Symbol {
-		uint8_t* addr;
-	public:
-		J3NativeSymbol(uint8_t* _addr) { addr = _addr; }
-
-		uint8_t* getSymbolAddress() { return addr; }
-	};
-};
-
-#endif

Added: vmkit/branches/mcjit/include/vmkit/compiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/vmkit/compiler.h?rev=197334&view=auto
==============================================================================
--- vmkit/branches/mcjit/include/vmkit/compiler.h (added)
+++ vmkit/branches/mcjit/include/vmkit/compiler.h Sun Dec 15 03:51:17 2013
@@ -0,0 +1,33 @@
+#ifndef _COMPILER_H_
+#define _COMPILER_H_
+
+#include "allocator.h"
+
+namespace vmkit {
+	class Symbol : public PermanentObject {
+	public:
+		virtual uint8_t* getSymbolAddress();
+	};
+
+	class NativeSymbol : public Symbol {
+		uint8_t* addr;
+	public:
+		NativeSymbol(uint8_t* _addr) { addr = _addr; }
+
+		uint8_t* getSymbolAddress() { return addr; }
+	};
+
+#if 0
+	class CompilationFragment {
+		llvm::Module*   _module;
+	public:
+		CompilationFragment();
+	};
+
+	class CompilationUnit  : public llvm::SectionMemoryManager {
+		typedef std::map<const char*, Symbol*, vmkit::Util::char_less_t, StdAllocator<std::pair<const char*, Symbol*> > > SymbolMap;
+	};
+#endif
+}
+
+#endif

Modified: vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc?rev=197334&r1=197333&r2=197334&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3classloader.cc Sun Dec 15 03:51:17 2013
@@ -70,7 +70,7 @@ J3ClassLoader::J3ClassLoader(J3* v, J3Ob
 	oldee()->DisableLazyCompilation(0);
 }
 
-void J3ClassLoader::addSymbol(const char* id, J3Symbol* symbol) {
+void J3ClassLoader::addSymbol(const char* id, vmkit::Symbol* symbol) {
 	pthread_mutex_lock(&_mutexSymbolTable);
 	_symbolTable[id] = symbol;
 	pthread_mutex_unlock(&_mutexSymbolTable);
@@ -80,14 +80,14 @@ uint64_t J3ClassLoader::getSymbolAddress
 	pthread_mutex_lock(&_mutexSymbolTable);
 	const char* id = Name.c_str() + 1;
 
-	std::map<const char*, J3Symbol*>::iterator it = _symbolTable.find(id);
-	J3Symbol* res;
+	std::map<const char*, vmkit::Symbol*>::iterator it = _symbolTable.find(id);
+	vmkit::Symbol* res;
 
 	if(it == _symbolTable.end()) {
 		uint8_t* addr = (uint8_t*)dlsym(RTLD_SELF, id);
 		if(!addr)
 			vm()->internalError(L"unable to resolve native symbol: %s", id);
-		res = new(allocator()) J3NativeSymbol(addr);
+		res = new(allocator()) vmkit::NativeSymbol(addr);
 		size_t len = strlen(id);
 		char* buf = (char*)allocator()->allocate(len+1);
 		memcpy(buf, id, len+1);

Modified: vmkit/branches/mcjit/lib/j3/vm/j3method.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3method.cc?rev=197334&r1=197333&r2=197334&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3method.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3method.cc Sun Dec 15 03:51:17 2013
@@ -421,7 +421,7 @@ llvm::Function* J3Method::nativeLLVMFunc
 																							 buf,
 																							 module);
 
-	cl()->loader()->addSymbol(buf, new(cl()->loader()->allocator()) J3NativeSymbol((uint8_t*)fnPtr));
+	cl()->loader()->addSymbol(buf, new(cl()->loader()->allocator()) vmkit::NativeSymbol((uint8_t*)fnPtr));
 
 	return res;
 }

Removed: vmkit/branches/mcjit/lib/j3/vm/j3symbol.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3symbol.cc?rev=197333&view=auto
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3symbol.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3symbol.cc (removed)
@@ -1,9 +0,0 @@
-#include "j3/j3symbol.h"
-#include "j3/j3thread.h"
-#include "j3/j3.h"
-
-using namespace j3;
-
-uint8_t* J3Symbol::getSymbolAddress() {
-	J3Thread::get()->vm()->internalError(L"implement me: getSymbolAddress");
-}

Added: vmkit/branches/mcjit/lib/vmkit/compiler.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/vmkit/compiler.cc?rev=197334&view=auto
==============================================================================
--- vmkit/branches/mcjit/lib/vmkit/compiler.cc (added)
+++ vmkit/branches/mcjit/lib/vmkit/compiler.cc Sun Dec 15 03:51:17 2013
@@ -0,0 +1,9 @@
+#include "vmkit/compiler.h"
+#include "vmkit/thread.h"
+#include "vmkit/vmkit.h"
+
+using namespace vmkit;
+
+uint8_t* Symbol::getSymbolAddress() {
+	Thread::get()->vm()->internalError(L"implement me: getSymbolAddress");
+}





More information about the vmkit-commits mailing list