[vmkit-commits] [vmkit] r71659 - /vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed May 13 07:12:30 PDT 2009


Author: geoffray
Date: Wed May 13 09:11:40 2009
New Revision: 71659

URL: http://llvm.org/viewvc/llvm-project?rev=71659&view=rev
Log:
Bugfix for generating strings during AOT.


Modified:
    vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp

Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp?rev=71659&r1=71658&r2=71659&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp Wed May 13 09:11:40 2009
@@ -513,15 +513,19 @@
 
   Constant* Array =
     CreateConstantFromArray<ArrayUInt16>(str->value, Type::Int16Ty);
-  Constant* ObjGEPs[2] = { JnjvmModule::constantZero,
-                           JnjvmModule::constantZero };
-  Array = ConstantExpr::getGetElementPtr(Array, ObjGEPs, 2);
-  Elmts.push_back(Array);
   
+
+	GlobalVariable* varGV = new GlobalVariable(Array->getType(), false,
+                                             GlobalValue::InternalLinkage,
+                                             Array, "", getLLVMModule());
+ 
+	Array = ConstantExpr::getBitCast(varGV, JnjvmModule::JavaObjectType);
+
+  Elmts.push_back(Array);
   Elmts.push_back(ConstantInt::get(Type::Int32Ty, str->count));
   Elmts.push_back(ConstantInt::get(Type::Int32Ty, str->cachedHashCode));
   Elmts.push_back(ConstantInt::get(Type::Int32Ty, str->offset));
-  
+ 
   return ConstantStruct::get(STy, Elmts);
 }
 





More information about the vmkit-commits mailing list