[vmkit-commits] [vmkit] r96190 - in /vmkit/trunk: include/j3/JavaAOTCompiler.h include/j3/JavaJITCompiler.h include/j3/JavaLLVMCompiler.h include/j3/JnjvmModule.h lib/J3/Compiler/JavaJIT.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sun Feb 14 13:22:41 PST 2010


Author: geoffray
Date: Sun Feb 14 15:22:41 2010
New Revision: 96190

URL: http://llvm.org/viewvc/llvm-project?rev=96190&view=rev
Log:
More refactoring - no functionality change.


Added:
    vmkit/trunk/include/j3/JavaLLVMCompiler.h
Modified:
    vmkit/trunk/include/j3/JavaAOTCompiler.h
    vmkit/trunk/include/j3/JavaJITCompiler.h
    vmkit/trunk/include/j3/JnjvmModule.h
    vmkit/trunk/lib/J3/Compiler/JavaJIT.h

Modified: vmkit/trunk/include/j3/JavaAOTCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaAOTCompiler.h?rev=96190&r1=96189&r2=96190&view=diff

==============================================================================
--- vmkit/trunk/include/j3/JavaAOTCompiler.h (original)
+++ vmkit/trunk/include/j3/JavaAOTCompiler.h Sun Feb 14 15:22:41 2010
@@ -10,7 +10,7 @@
 #ifndef J3_AOT_COMPILER_H
 #define J3_AOT_COMPILER_H
 
-#include "j3/JnjvmModule.h"
+#include "j3/JavaLLVMCompiler.h"
 
 namespace j3 {
 

Modified: vmkit/trunk/include/j3/JavaJITCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaJITCompiler.h?rev=96190&r1=96189&r2=96190&view=diff

==============================================================================
--- vmkit/trunk/include/j3/JavaJITCompiler.h (original)
+++ vmkit/trunk/include/j3/JavaJITCompiler.h Sun Feb 14 15:22:41 2010
@@ -10,7 +10,7 @@
 #ifndef J3_JIT_COMPILER_H
 #define J3_JIT_COMPILER_H
 
-#include "j3/JnjvmModule.h"
+#include "j3/JavaLLVMCompiler.h"
 
 namespace j3 {
 
@@ -68,7 +68,7 @@
   }
 #endif
   
-  static  JavaJITCompiler* CreateCompiler(const std::string& ModuleID);
+  static JavaJITCompiler* CreateCompiler(const std::string& ModuleID);
 
 };
 

Added: vmkit/trunk/include/j3/JavaLLVMCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/j3/JavaLLVMCompiler.h?rev=96190&view=auto

==============================================================================
--- vmkit/trunk/include/j3/JavaLLVMCompiler.h (added)
+++ vmkit/trunk/include/j3/JavaLLVMCompiler.h Sun Feb 14 15:22:41 2010
@@ -0,0 +1,156 @@
+//===---==---- JavaLLVMCompiler.h - A LLVM Compiler for J3 ----------------===//
+//
+//                            The VMKit project
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef J3_LLVM_COMPILER_H
+#define J3_LLVM_COMPILER_H
+
+#include "j3/JnjvmModule.h"
+
+namespace j3 {
+
+class JavaLLVMCompiler : public JavaCompiler {
+  friend class LLVMClassInfo;
+  friend class LLVMMethodInfo;
+
+protected:
+  llvm::Module* TheModule;
+  JnjvmModule JavaIntrinsics;
+
+  void addJavaPasses();
+
+private:  
+  bool enabledException;
+  bool cooperativeGC;
+  
+  virtual void makeVT(Class* cl) = 0;
+  virtual void makeIMT(Class* cl) = 0;
+  
+  std::map<llvm::Function*, JavaMethod*> functions;  
+  typedef std::map<llvm::Function*, JavaMethod*>::iterator function_iterator;
+
+  std::map<llvm::MDNode*, JavaMethod*> DbgInfos;
+  typedef std::map<llvm::MDNode*, JavaMethod*>::iterator dbg_iterator;
+
+public:
+  JavaLLVMCompiler(const std::string &ModuleID);
+  
+  virtual bool isStaticCompiling() = 0;
+  virtual bool emitFunctionName() = 0;
+
+  llvm::Module* getLLVMModule() {
+    return TheModule;
+  }
+
+  JnjvmModule* getIntrinsics() {
+    return &JavaIntrinsics;
+  }
+
+  bool hasExceptionsEnabled() {
+    return enabledException;
+  }
+
+  bool useCooperativeGC() {
+    return cooperativeGC;
+  }
+  
+  void disableExceptions() {
+    enabledException = false;
+  }
+  
+  void disableCooperativeGC() {
+    cooperativeGC = false;
+  }
+ 
+  virtual JavaCompiler* Create(const std::string& ModuleID) = 0;
+  
+  virtual ~JavaLLVMCompiler();
+
+  JavaMethod* getJavaMethod(llvm::Function*);
+  llvm::MDNode* GetDbgSubprogram(JavaMethod* meth);
+
+  void resolveVirtualClass(Class* cl);
+  void resolveStaticClass(Class* cl);
+  static llvm::Function* getMethod(JavaMethod* meth);
+
+  static LLVMSignatureInfo* getSignatureInfo(Signdef* sign);
+  static LLVMClassInfo* getClassInfo(Class* cl);
+  static LLVMFieldInfo* getFieldInfo(JavaField* field);
+  static LLVMMethodInfo* getMethodInfo(JavaMethod* method);
+  static LLVMAssessorInfo& getTypedefInfo(const Typedef* type);
+  
+  virtual llvm::Constant* getFinalObject(JavaObject* obj, CommonClass* cl) = 0;
+  virtual JavaObject* getFinalObject(llvm::Value* C) = 0;
+  virtual llvm::Constant* getNativeClass(CommonClass* cl) = 0;
+  virtual llvm::Constant* getJavaClass(CommonClass* cl) = 0;
+  virtual llvm::Constant* getJavaClassPtr(CommonClass* cl) = 0;
+  virtual llvm::Constant* getStaticInstance(Class* cl) = 0;
+  virtual llvm::Constant* getVirtualTable(JavaVirtualTable*) = 0;
+  virtual llvm::Constant* getMethodInClass(JavaMethod* meth) = 0;
+  
+  virtual llvm::Constant* getString(JavaString* str) = 0;
+  virtual llvm::Constant* getStringPtr(JavaString** str) = 0;
+  virtual llvm::Constant* getConstantPool(JavaConstantPool* ctp) = 0;
+  virtual llvm::Constant* getNativeFunction(JavaMethod* meth, void* natPtr) = 0;
+  
+  virtual void setMethod(JavaMethod* meth, void* ptr, const char* name) = 0;
+  
+#ifdef SERVICE
+  virtual llvm::Value* getIsolate(Jnjvm* vm, llvm::Value* Where) = 0;
+#endif
+  
+  virtual void* materializeFunction(JavaMethod* meth) = 0;
+  llvm::Function* parseFunction(JavaMethod* meth);
+   
+  llvm::FunctionPassManager* JavaFunctionPasses;
+  llvm::FunctionPassManager* JavaNativeFunctionPasses;
+  
+  virtual bool needsCallback(JavaMethod* meth, bool* needsInit) {
+    *needsInit = true;
+    return meth == NULL;
+  }
+  virtual llvm::Value* addCallback(Class* cl, uint16 index, Signdef* sign,
+                                   bool stat, llvm::BasicBlock* insert) = 0;
+  
+  virtual void staticCallBuf(Signdef* sign) {
+    getSignatureInfo(sign)->getStaticBuf();
+  }
+
+  virtual void virtualCallBuf(Signdef* sign) {
+    getSignatureInfo(sign)->getVirtualBuf();
+  }
+
+  virtual void staticCallAP(Signdef* sign) {
+    getSignatureInfo(sign)->getStaticAP();
+  }
+
+  virtual void virtualCallAP(Signdef* sign) {
+    getSignatureInfo(sign)->getVirtualAP();
+  }
+  
+  virtual void virtualCallStub(Signdef* sign) {
+    getSignatureInfo(sign)->getVirtualStub();
+  }
+  
+  virtual void specialCallStub(Signdef* sign) {
+    getSignatureInfo(sign)->getSpecialStub();
+  }
+  
+  virtual void staticCallStub(Signdef* sign) {
+    getSignatureInfo(sign)->getStaticStub();
+  }
+
+  llvm::Function* NativeLoader;
+
+};
+
+
+
+} // 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=96190&r1=96189&r2=96190&view=diff

==============================================================================
--- vmkit/trunk/include/j3/JnjvmModule.h (original)
+++ vmkit/trunk/include/j3/JnjvmModule.h Sun Feb 14 15:22:41 2010
@@ -390,142 +390,6 @@
 
 };
 
-class JavaLLVMCompiler : public JavaCompiler {
-  friend class LLVMClassInfo;
-  friend class LLVMMethodInfo;
-
-
-protected:
-  llvm::Module* TheModule;
-  JnjvmModule JavaIntrinsics;
-
-  void addJavaPasses();
-
-private:  
-  bool enabledException;
-  bool cooperativeGC;
-  
-  virtual void makeVT(Class* cl) = 0;
-  virtual void makeIMT(Class* cl) = 0;
-  
-  std::map<llvm::Function*, JavaMethod*> functions;  
-  typedef std::map<llvm::Function*, JavaMethod*>::iterator function_iterator;
-
-  std::map<llvm::MDNode*, JavaMethod*> DbgInfos;
-  typedef std::map<llvm::MDNode*, JavaMethod*>::iterator dbg_iterator;
-
-public:
-  JavaLLVMCompiler(const std::string &ModuleID);
-  
-  virtual bool isStaticCompiling() = 0;
-  virtual bool emitFunctionName() = 0;
-
-  llvm::Module* getLLVMModule() {
-    return TheModule;
-  }
-
-  JnjvmModule* getIntrinsics() {
-    return &JavaIntrinsics;
-  }
-
-  bool hasExceptionsEnabled() {
-    return enabledException;
-  }
-
-  bool useCooperativeGC() {
-    return cooperativeGC;
-  }
-  
-  void disableExceptions() {
-    enabledException = false;
-  }
-  
-  void disableCooperativeGC() {
-    cooperativeGC = false;
-  }
- 
-  virtual JavaCompiler* Create(const std::string& ModuleID) = 0;
-  
-  virtual ~JavaLLVMCompiler();
-
-  JavaMethod* getJavaMethod(llvm::Function*);
-  llvm::MDNode* GetDbgSubprogram(JavaMethod* meth);
-
-  void resolveVirtualClass(Class* cl);
-  void resolveStaticClass(Class* cl);
-  static llvm::Function* getMethod(JavaMethod* meth);
-
-  static LLVMSignatureInfo* getSignatureInfo(Signdef* sign);
-  static LLVMClassInfo* getClassInfo(Class* cl);
-  static LLVMFieldInfo* getFieldInfo(JavaField* field);
-  static LLVMMethodInfo* getMethodInfo(JavaMethod* method);
-  static LLVMAssessorInfo& getTypedefInfo(const Typedef* type);
-  
-  virtual llvm::Constant* getFinalObject(JavaObject* obj, CommonClass* cl) = 0;
-  virtual JavaObject* getFinalObject(llvm::Value* C) = 0;
-  virtual llvm::Constant* getNativeClass(CommonClass* cl) = 0;
-  virtual llvm::Constant* getJavaClass(CommonClass* cl) = 0;
-  virtual llvm::Constant* getJavaClassPtr(CommonClass* cl) = 0;
-  virtual llvm::Constant* getStaticInstance(Class* cl) = 0;
-  virtual llvm::Constant* getVirtualTable(JavaVirtualTable*) = 0;
-  virtual llvm::Constant* getMethodInClass(JavaMethod* meth) = 0;
-  
-  virtual llvm::Constant* getString(JavaString* str) = 0;
-  virtual llvm::Constant* getStringPtr(JavaString** str) = 0;
-  virtual llvm::Constant* getConstantPool(JavaConstantPool* ctp) = 0;
-  virtual llvm::Constant* getNativeFunction(JavaMethod* meth, void* natPtr) = 0;
-  
-  virtual void setMethod(JavaMethod* meth, void* ptr, const char* name) = 0;
-  
-#ifdef SERVICE
-  virtual llvm::Value* getIsolate(Jnjvm* vm, llvm::Value* Where) = 0;
-#endif
-  
-  virtual void* materializeFunction(JavaMethod* meth) = 0;
-  llvm::Function* parseFunction(JavaMethod* meth);
-   
-  llvm::FunctionPassManager* JavaFunctionPasses;
-  llvm::FunctionPassManager* JavaNativeFunctionPasses;
-  
-  virtual bool needsCallback(JavaMethod* meth, bool* needsInit) {
-    *needsInit = true;
-    return meth == NULL;
-  }
-  virtual llvm::Value* addCallback(Class* cl, uint16 index, Signdef* sign,
-                                   bool stat, llvm::BasicBlock* insert) = 0;
-  
-  virtual void staticCallBuf(Signdef* sign) {
-    getSignatureInfo(sign)->getStaticBuf();
-  }
-
-  virtual void virtualCallBuf(Signdef* sign) {
-    getSignatureInfo(sign)->getVirtualBuf();
-  }
-
-  virtual void staticCallAP(Signdef* sign) {
-    getSignatureInfo(sign)->getStaticAP();
-  }
-
-  virtual void virtualCallAP(Signdef* sign) {
-    getSignatureInfo(sign)->getVirtualAP();
-  }
-  
-  virtual void virtualCallStub(Signdef* sign) {
-    getSignatureInfo(sign)->getVirtualStub();
-  }
-  
-  virtual void specialCallStub(Signdef* sign) {
-    getSignatureInfo(sign)->getSpecialStub();
-  }
-  
-  virtual void staticCallStub(Signdef* sign) {
-    getSignatureInfo(sign)->getStaticStub();
-  }
-
-  llvm::Function* NativeLoader;
-
-};
-
 }
 
 #endif

Modified: vmkit/trunk/lib/J3/Compiler/JavaJIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJIT.h?rev=96190&r1=96189&r2=96190&view=diff

==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJIT.h (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJIT.h Sun Feb 14 15:22:41 2010
@@ -26,6 +26,7 @@
 
 #include "JavaClass.h"
 #include "JavaUpcalls.h"
+#include "j3/JavaLLVMCompiler.h"
 #include "j3/JnjvmModule.h"
 
 namespace j3 {





More information about the vmkit-commits mailing list