[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