[vmkit-commits] [vmkit] r96191 - in /vmkit/trunk: include/j3/JavaAOTCompiler.h include/j3/JavaLLVMCompiler.h include/j3/JnjvmModule.h include/j3/LLVMInfo.h lib/J3/Compiler/JITInfo.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sun Feb 14 13:43:54 PST 2010
Author: geoffray
Date: Sun Feb 14 15:43:54 2010
New Revision: 96191
URL: http://llvm.org/viewvc/llvm-project?rev=96191&view=rev
Log:
More and more refactoring - no functionality change.
Added:
vmkit/trunk/include/j3/LLVMInfo.h
Modified:
vmkit/trunk/include/j3/JavaAOTCompiler.h
vmkit/trunk/include/j3/JavaLLVMCompiler.h
vmkit/trunk/include/j3/JnjvmModule.h
vmkit/trunk/lib/J3/Compiler/JITInfo.cpp
Modified: vmkit/trunk/include/j3/JavaAOTCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaAOTCompiler.h?rev=96191&r1=96190&r2=96191&view=diff
==============================================================================
--- vmkit/trunk/include/j3/JavaAOTCompiler.h (original)
+++ vmkit/trunk/include/j3/JavaAOTCompiler.h Sun Feb 14 15:43:54 2010
@@ -14,6 +14,11 @@
namespace j3 {
+class ArrayObject;
+class Attribut;
+
+using mvm::UTF8;
+
class JavaAOTCompiler : public JavaLLVMCompiler {
public:
Modified: vmkit/trunk/include/j3/JavaLLVMCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaLLVMCompiler.h?rev=96191&r1=96190&r2=96191&view=diff
==============================================================================
--- vmkit/trunk/include/j3/JavaLLVMCompiler.h (original)
+++ vmkit/trunk/include/j3/JavaLLVMCompiler.h Sun Feb 14 15:43:54 2010
@@ -10,10 +10,30 @@
#ifndef J3_LLVM_COMPILER_H
#define J3_LLVM_COMPILER_H
+#include "j3/JavaCompiler.h"
#include "j3/JnjvmModule.h"
+#include "j3/LLVMInfo.h"
+
+namespace llvm {
+ class BasicBlock;
+}
namespace j3 {
+class CommonClass;
+class Class;
+class ClassArray;
+class ClassPrimitive;
+class JavaConstantPool;
+class JavaField;
+class JavaMethod;
+class JavaObject;
+class JavaString;
+class JavaVirtualTable;
+class Jnjvm;
+class Typedef;
+class Signdef;
+
class JavaLLVMCompiler : public JavaCompiler {
friend class LLVMClassInfo;
friend class LLVMMethodInfo;
@@ -149,8 +169,6 @@
};
-
-
} // end namespace j3
#endif
Modified: vmkit/trunk/include/j3/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JnjvmModule.h?rev=96191&r1=96190&r2=96191&view=diff
==============================================================================
--- vmkit/trunk/include/j3/JnjvmModule.h (original)
+++ vmkit/trunk/include/j3/JnjvmModule.h Sun Feb 14 15:43:54 2010
@@ -10,220 +10,10 @@
#ifndef JNJVM_MODULE_H
#define JNJVM_MODULE_H
-#include <map>
-#include <vector>
-
-#include "mvm/Allocator.h"
#include "mvm/JIT.h"
-#include "mvm/UTF8.h"
-
-#include "JavaCompiler.h"
-
-namespace llvm {
- class BasicBlock;
- class Constant;
- class ConstantInt;
- class Function;
- class FunctionPassManager;
- class FunctionType;
- class GlobalVariable;
- class GCFunctionInfo;
- class GVMaterializer;
- class MDNode;
- class Module;
- class Type;
- class Value;
-}
namespace j3 {
-class ArrayObject;
-class Attribut;
-class CommonClass;
-class Class;
-class ClassArray;
-class ClassPrimitive;
-class JavaConstantPool;
-class JavaField;
-class JavaMethod;
-class JavaObject;
-class JavaString;
-class JavaVirtualTable;
-class Jnjvm;
-class JnjvmClassLoader;
-class JnjvmModule;
-class Typedef;
-class Signdef;
-
-using mvm::UTF8;
-
-class LLVMAssessorInfo {
-public:
- const llvm::Type* llvmType;
- const llvm::Type* llvmTypePtr;
- uint8_t logSizeInBytesConstant;
-
- static void initialise();
- static std::map<const char, LLVMAssessorInfo> AssessorInfo;
-
-};
-
-
-class LLVMClassInfo : public mvm::JITInfo {
- friend class JavaAOTCompiler;
- friend class JavaJITCompiler;
- friend class JavaLLVMCompiler;
-private:
- Class* classDef;
- /// virtualSizeLLVM - The LLVM constant size of instances of this class.
- ///
- llvm::Constant* virtualSizeConstant;
- /// virtualType - The LLVM type of instance of this class.
- ///
- const llvm::Type * virtualType;
-
- /// staticType - The LLVM type of the static instance of this class.
- ///
- const llvm::Type * staticType;
-public:
-
- llvm::Value* getVirtualSize();
- const llvm::Type* getVirtualType();
- const llvm::Type* getStaticType();
-
- LLVMClassInfo(Class* cl) :
- classDef(cl),
- virtualSizeConstant(0),
- virtualType(0),
- staticType(0) {}
-
- virtual void clear() {
- virtualType = 0;
- staticType = 0;
- virtualSizeConstant = 0;
- }
-};
-
-class LLVMMethodInfo : public mvm::JITInfo {
-private:
- JavaMethod* methodDef;
-
- llvm::Function* methodFunction;
- llvm::Constant* offsetConstant;
- const llvm::FunctionType* functionType;
- llvm::MDNode* DbgSubprogram;
-
-
-public:
- llvm::GCFunctionInfo* GCInfo;
- llvm::Function* getMethod();
- llvm::Constant* getOffset();
- const llvm::FunctionType* getFunctionType();
-
- LLVMMethodInfo(JavaMethod* M) : methodDef(M), methodFunction(0),
- offsetConstant(0), functionType(0), DbgSubprogram(0), GCInfo(0) {}
-
- void setDbgSubprogram(llvm::MDNode* node) { DbgSubprogram = node; }
- llvm::MDNode* getDbgSubprogram() { return DbgSubprogram; }
-
- virtual void clear() {
- GCInfo = 0;
- methodFunction = 0;
- offsetConstant = 0;
- functionType = 0;
- DbgSubprogram = 0;
- }
-};
-
-
-class LLVMFieldInfo : public mvm::JITInfo {
-private:
- JavaField* fieldDef;
-
- llvm::Constant* offsetConstant;
-
-public:
- llvm::Constant* getOffset();
-
- LLVMFieldInfo(JavaField* F) :
- fieldDef(F),
- offsetConstant(0) {}
-
- virtual void clear() {
- offsetConstant = 0;
- }
-};
-
-class LLVMSignatureInfo : public mvm::JITInfo {
-private:
- const llvm::FunctionType* staticType;
- const llvm::FunctionType* virtualType;
- const llvm::FunctionType* nativeType;
-
- const llvm::FunctionType* virtualBufType;
- const llvm::FunctionType* staticBufType;
-
- const llvm::PointerType* staticPtrType;
- const llvm::PointerType* virtualPtrType;
- const llvm::PointerType* nativePtrType;
-
- llvm::Function* virtualBufFunction;
- llvm::Function* virtualAPFunction;
- llvm::Function* staticBufFunction;
- llvm::Function* staticAPFunction;
-
- llvm::Function* staticStubFunction;
- llvm::Function* specialStubFunction;
- llvm::Function* virtualStubFunction;
-
- Signdef* signature;
-
- llvm::Function* createFunctionCallBuf(bool virt);
- llvm::Function* createFunctionCallAP(bool virt);
- llvm::Function* createFunctionStub(bool special, bool virt);
-
-
-public:
- const llvm::FunctionType* getVirtualType();
- const llvm::FunctionType* getStaticType();
- const llvm::FunctionType* getNativeType();
-
- const llvm::FunctionType* getVirtualBufType();
- const llvm::FunctionType* getStaticBufType();
-
- const llvm::PointerType* getStaticPtrType();
- const llvm::PointerType* getNativePtrType();
- const llvm::PointerType* getVirtualPtrType();
-
- llvm::Function* getVirtualBuf();
- llvm::Function* getVirtualAP();
- llvm::Function* getStaticBuf();
- llvm::Function* getStaticAP();
-
- llvm::Function* getStaticStub();
- llvm::Function* getSpecialStub();
- llvm::Function* getVirtualStub();
-
- LLVMSignatureInfo(Signdef* sign) :
- staticType(0),
- virtualType(0),
- nativeType(0),
- virtualBufType(0),
- staticBufType(0),
- staticPtrType(0),
- virtualPtrType(0),
- nativePtrType(0),
- virtualBufFunction(0),
- virtualAPFunction(0),
- staticBufFunction(0),
- staticAPFunction(0),
- staticStubFunction(0),
- specialStubFunction(0),
- virtualStubFunction(0),
- signature(sign) {}
-
-};
-
class JnjvmModule : public mvm::MvmModule {
public:
Added: vmkit/trunk/include/j3/LLVMInfo.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/LLVMInfo.h?rev=96191&view=auto
==============================================================================
--- vmkit/trunk/include/j3/LLVMInfo.h (added)
+++ vmkit/trunk/include/j3/LLVMInfo.h Sun Feb 14 15:43:54 2010
@@ -0,0 +1,199 @@
+//===------------- LLVMInfo.h - Compiler info for LLVM --------------------===//
+//
+// The VMKit project
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef J3_LLVM_INFO_H
+#define J3_LLVM_INFO_H
+
+namespace llvm {
+ class Constant;
+ class Function;
+ class FunctionType;
+ class GCFunctionInfo;
+ class MDNode;
+ class Module;
+ class Type;
+ class Value;
+}
+
+namespace j3 {
+
+class Class;
+class JavaField;
+class JavaMethod;
+class Signdef;
+
+class LLVMAssessorInfo {
+public:
+ const llvm::Type* llvmType;
+ const llvm::Type* llvmTypePtr;
+ uint8_t logSizeInBytesConstant;
+
+ static void initialise();
+ static std::map<const char, LLVMAssessorInfo> AssessorInfo;
+
+};
+
+class LLVMClassInfo : public mvm::JITInfo {
+ friend class JavaAOTCompiler;
+ friend class JavaJITCompiler;
+ friend class JavaLLVMCompiler;
+private:
+ Class* classDef;
+ /// virtualSizeLLVM - The LLVM constant size of instances of this class.
+ ///
+ llvm::Constant* virtualSizeConstant;
+ /// virtualType - The LLVM type of instance of this class.
+ ///
+ const llvm::Type * virtualType;
+
+ /// staticType - The LLVM type of the static instance of this class.
+ ///
+ const llvm::Type * staticType;
+public:
+
+ llvm::Value* getVirtualSize();
+ const llvm::Type* getVirtualType();
+ const llvm::Type* getStaticType();
+
+ LLVMClassInfo(Class* cl) :
+ classDef(cl),
+ virtualSizeConstant(0),
+ virtualType(0),
+ staticType(0) {}
+
+ virtual void clear() {
+ virtualType = 0;
+ staticType = 0;
+ virtualSizeConstant = 0;
+ }
+};
+
+class LLVMMethodInfo : public mvm::JITInfo {
+private:
+ JavaMethod* methodDef;
+
+ llvm::Function* methodFunction;
+ llvm::Constant* offsetConstant;
+ const llvm::FunctionType* functionType;
+ llvm::MDNode* DbgSubprogram;
+
+
+public:
+ llvm::GCFunctionInfo* GCInfo;
+ llvm::Function* getMethod();
+ llvm::Constant* getOffset();
+ const llvm::FunctionType* getFunctionType();
+
+ LLVMMethodInfo(JavaMethod* M) : methodDef(M), methodFunction(0),
+ offsetConstant(0), functionType(0), DbgSubprogram(0), GCInfo(0) {}
+
+ void setDbgSubprogram(llvm::MDNode* node) { DbgSubprogram = node; }
+ llvm::MDNode* getDbgSubprogram() { return DbgSubprogram; }
+
+ virtual void clear() {
+ GCInfo = 0;
+ methodFunction = 0;
+ offsetConstant = 0;
+ functionType = 0;
+ DbgSubprogram = 0;
+ }
+};
+
+
+class LLVMFieldInfo : public mvm::JITInfo {
+private:
+ JavaField* fieldDef;
+
+ llvm::Constant* offsetConstant;
+
+public:
+ llvm::Constant* getOffset();
+
+ LLVMFieldInfo(JavaField* F) :
+ fieldDef(F),
+ offsetConstant(0) {}
+
+ virtual void clear() {
+ offsetConstant = 0;
+ }
+};
+
+class LLVMSignatureInfo : public mvm::JITInfo {
+private:
+ const llvm::FunctionType* staticType;
+ const llvm::FunctionType* virtualType;
+ const llvm::FunctionType* nativeType;
+
+ const llvm::FunctionType* virtualBufType;
+ const llvm::FunctionType* staticBufType;
+
+ const llvm::PointerType* staticPtrType;
+ const llvm::PointerType* virtualPtrType;
+ const llvm::PointerType* nativePtrType;
+
+ llvm::Function* virtualBufFunction;
+ llvm::Function* virtualAPFunction;
+ llvm::Function* staticBufFunction;
+ llvm::Function* staticAPFunction;
+
+ llvm::Function* staticStubFunction;
+ llvm::Function* specialStubFunction;
+ llvm::Function* virtualStubFunction;
+
+ Signdef* signature;
+
+ llvm::Function* createFunctionCallBuf(bool virt);
+ llvm::Function* createFunctionCallAP(bool virt);
+ llvm::Function* createFunctionStub(bool special, bool virt);
+
+
+public:
+ const llvm::FunctionType* getVirtualType();
+ const llvm::FunctionType* getStaticType();
+ const llvm::FunctionType* getNativeType();
+
+ const llvm::FunctionType* getVirtualBufType();
+ const llvm::FunctionType* getStaticBufType();
+
+ const llvm::PointerType* getStaticPtrType();
+ const llvm::PointerType* getNativePtrType();
+ const llvm::PointerType* getVirtualPtrType();
+
+ llvm::Function* getVirtualBuf();
+ llvm::Function* getVirtualAP();
+ llvm::Function* getStaticBuf();
+ llvm::Function* getStaticAP();
+
+ llvm::Function* getStaticStub();
+ llvm::Function* getSpecialStub();
+ llvm::Function* getVirtualStub();
+
+ LLVMSignatureInfo(Signdef* sign) :
+ staticType(0),
+ virtualType(0),
+ nativeType(0),
+ virtualBufType(0),
+ staticBufType(0),
+ staticPtrType(0),
+ virtualPtrType(0),
+ nativePtrType(0),
+ virtualBufFunction(0),
+ virtualAPFunction(0),
+ staticBufFunction(0),
+ staticAPFunction(0),
+ staticStubFunction(0),
+ specialStubFunction(0),
+ virtualStubFunction(0),
+ signature(sign) {}
+
+};
+
+} // end namespace j3
+
+#endif
Modified: vmkit/trunk/lib/J3/Compiler/JITInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JITInfo.cpp?rev=96191&r1=96190&r2=96191&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JITInfo.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JITInfo.cpp Sun Feb 14 15:43:54 2010
@@ -28,7 +28,8 @@
#include "Jnjvm.h"
#include "Reader.h"
-#include "j3/JnjvmModule.h"
+#include "j3/JavaCompiler.h"
+#include "j3/LLVMInfo.h"
#include <cstdio>
More information about the vmkit-commits
mailing list