[LLVMdev] vmkit on x86_64

Zsombor gzsombor+llvm at gmail.com
Tue Jul 1 00:46:43 PDT 2008


Hello,

 I'm trying to compile vmkit on a x86_64 linux box with gcc-4.1.2, but
I'm running into troubles because of various problems with casts
between pointers and integers. Is there anybody who succeeded in this
task? Az I see, some of the problems can be fixed with an appropriate
typedef/macro declaration, but in VMCore/JavaObject.cpp some lowlevel
bitmanipulation is used, to mark object references as locked - as I
believe.

BR,
 Zsombor


p.s
 this fixes a typo in the current svn trunk

$ svn diff VMCore/JavaJITOpcodes.cpp
Index: VMCore/JavaJITOpcodes.cpp
===================================================================
--- VMCore/JavaJITOpcodes.cpp    (revision 52951)
+++ VMCore/JavaJITOpcodes.cpp    (working copy)
@@ -1008,7 +1008,7 @@
         Value* val2 = popAsInt();
         Value* val1 = popAsInt();
         Value* mask = ConstantInt::get(Type::Int32Ty, 0x1F);
-        val2 = BinaryOperator::CreateAnd(val2, mask, "", currentBlock);
+        val2 = BinaryOperator::createAnd(val2, mask, "", currentBlock);
         push(BinaryOperator::createLShr(val1, val2, "", currentBlock),
              AssessorDesc::dInt);
         break;
@@ -1017,7 +1017,7 @@
       case LUSHR : {
         Value* val2 = new ZExtInst(pop(), Type::Int64Ty, "", currentBlock);
         Value* mask = ConstantInt::get(Type::Int64Ty, 0x3F);
-        val2 = BinaryOperator::CreateAnd(val2, mask, "", currentBlock);
+        val2 = BinaryOperator::createAnd(val2, mask, "", currentBlock);
         pop(); // remove the 0 on the stack
         Value* val1 = pop();
         push(BinaryOperator::createLShr(val1, val2, "", currentBlock),



More information about the llvm-dev mailing list