[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