[vmkit-commits] [vmkit] r61505 -	/vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp
    Nicolas Geoffray 
    nicolas.geoffray at lip6.fr
       
    Tue Dec 30 15:13:46 PST 2008
    
    
  
Author: geoffray
Date: Tue Dec 30 17:13:29 2008
New Revision: 61505
URL: http://llvm.org/viewvc/llvm-project?rev=61505&view=rev
Log:
Fix type of a class when setting it to a Java object.
Modified:
    vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp?rev=61505&r1=61504&r2=61505&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJITOpcodes.cpp Tue Dec 30 17:13:29 2008
@@ -1839,6 +1839,9 @@
             compilingClass->classLoader->bootstrapLoader;
           UserClassArray* dcl = loader->getArrayClass(id);
           valCl = module->getNativeClass(dcl);
+          if (valCl->getType() != module->JavaCommonClassType)
+            valCl = new BitCastInst(valCl, module->JavaCommonClassType, "",
+                                    currentBlock);
 #else
           Value* args[2] = { isolateLocal,
                              ConstantInt::get(Type::Int32Ty, id - 4) };
@@ -1860,6 +1863,9 @@
           
             UserCommonClass* dcl = JCL->constructArray(arrayName);
             valCl = module->getNativeClass(dcl);
+            if (valCl->getType() != module->JavaCommonClassType)
+              valCl = new BitCastInst(valCl, module->JavaCommonClassType, "",
+                                      currentBlock);
 
           } else {
             const llvm::Type* Ty = 
    
    
More information about the vmkit-commits
mailing list