[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