[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