[vmkit-commits] [vmkit] r61588 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaClass.h Jnjvm.cpp JnjvmModule.cpp JnjvmModuleProvider.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Fri Jan 2 09:22:24 PST 2009


Author: geoffray
Date: Fri Jan  2 11:22:24 2009
New Revision: 61588

URL: http://llvm.org/viewvc/llvm-project?rev=61588&view=rev
Log:
Set names to global variables.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=61588&r1=61587&r2=61588&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Fri Jan  2 11:22:24 2009
@@ -260,9 +260,10 @@
   
   /// printString - Prints the class.
   ///
-  char *printString() const {
+  const char *printString(const char* ext = "") const {
     mvm::PrintBuffer *buf = mvm::PrintBuffer::alloc();
     print(buf);
+    buf->write(ext);
     return buf->contents()->cString();
   }
 

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp?rev=61588&r1=61587&r2=61588&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Fri Jan  2 11:22:24 2009
@@ -1099,7 +1099,8 @@
   // belongs to the list of classes that we are static compiling.
   cl->setOwnerClass(JavaThread::get());
   llvm::Value* LCL = cl->classLoader->getModule()->getNativeClass(cl);
-  cl->classLoader->getModule()->getInitializationState(LCL);
+  if (cl->needsInitialisationCheck())
+    cl->classLoader->getModule()->getInitializationState(LCL);
 
   for (uint32 i = 0; i < cl->nbVirtualMethods; ++i) {
     JavaMethod& meth = cl->virtualMethods[i];

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=61588&r1=61587&r2=61588&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Fri Jan  2 11:22:24 2009
@@ -142,15 +142,17 @@
     return ConstantExpr::getIntToPtr(CI, Ty);
   }
 }
-
 GlobalVariable* JnjvmModule::getInitializationState(Value* value) {
 
   initialization_iterator End = initializationStates.end();
   initialization_iterator I = initializationStates.find(value);
   if (I == End) {
+    const char* clName = value->getName().c_str();
+    char* newName = (char*)alloca(strlen(clName) + 9);
+    sprintf(newName, "%s<clinit>", clName);
     GlobalVariable* varGV = new GlobalVariable(Type::Int1Ty, false,
                                                GlobalValue::ExternalLinkage,
-                                               0, "", this);
+                                               0, newName, this);
       
     initializationStates.insert(std::make_pair(value, varGV));
 
@@ -248,7 +250,8 @@
       
       GlobalVariable* varGV = 
         new GlobalVariable(Ty->getContainedType(0), false,
-                           GlobalValue::ExternalLinkage, 0, "", this);
+                           GlobalValue::ExternalLinkage, 0,
+                           cl->printString("<Java.class>"), this);
       
       Constant* res = ConstantExpr::getCast(Instruction::BitCast, varGV,
                                             JavaObjectType);
@@ -284,7 +287,7 @@
       const Type* Ty = LCI->getStaticType();
       varGV = new GlobalVariable(Ty->getContainedType(0), false,
                                  GlobalValue::ExternalLinkage,
-                                 0, "", this);
+                                 0, classDef->printString("<Static>"), this);
 
       Constant* res = ConstantExpr::getCast(Instruction::BitCast, varGV,
                                             ptrType);
@@ -329,7 +332,9 @@
       ATy = ArrayType::get(PTy, classDef->virtualTableSize);
       GlobalVariable* varGV = new GlobalVariable(ATy, true,
                                                  GlobalValue::ExternalLinkage,
-                                                 0, "", this);
+                                                 0, 
+                                                 classDef->printString("<VT>"),
+                                                 this);
     
       res = ConstantExpr::getCast(Instruction::BitCast, varGV, VTType);
       virtualTables.insert(std::make_pair(classDef, res));

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp?rev=61588&r1=61587&r2=61588&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp Fri Jan  2 11:22:24 2009
@@ -139,7 +139,7 @@
   Function* func = 0;
   LLVMSignatureInfo* LSI = M->getSignatureInfo(sign);
   if (!stat) {
-    char* name = cl->printString();
+    const char* name = cl->printString();
     char* key = (char*)alloca(strlen(name) + 2);
     sprintf(key, "%s%d", name, index);
     Function* F = TheModule->getFunction(key);





More information about the vmkit-commits mailing list