[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