[vmkit-commits] [vmkit] r198240 - don't use virtual llvm typeanymore
Gael Thomas
gael.thomas at lip6.fr
Mon Dec 30 11:39:21 PST 2013
Author: gthomas
Date: Mon Dec 30 13:39:21 2013
New Revision: 198240
URL: http://llvm.org/viewvc/llvm-project?rev=198240&view=rev
Log:
don't use virtual llvm typeanymore
Modified:
vmkit/branches/mcjit/include/j3/j3class.h
vmkit/branches/mcjit/lib/j3/vm/j3class.cc
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
Modified: vmkit/branches/mcjit/include/j3/j3class.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3class.h?rev=198240&r1=198239&r2=198240&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3class.h (original)
+++ vmkit/branches/mcjit/include/j3/j3class.h Mon Dec 30 13:39:21 2013
@@ -285,7 +285,6 @@ namespace j3 {
J3Field* fieldAt(uint16_t idx, uint16_t access);
llvm::Type* llvmType();
- llvm::Type* virtualLLVMType();
llvm::GlobalValue* llvmDescriptor(llvm::Module* module);
J3ClassBytes* bytes() { return _bytes; }
Modified: vmkit/branches/mcjit/lib/j3/vm/j3class.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3class.cc?rev=198240&r1=198239&r2=198240&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3class.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3class.cc Mon Dec 30 13:39:21 2013
@@ -820,14 +820,12 @@ void J3Class::createLLVMTypes() {
mangler.mangle("static_")->mangle(name());
- staticLayout._llvmType =
- llvm::PointerType::getUnqual(llvm::StructType::create(loader()->vm()->llvmContext(), mangler.cStr()));
- _llvmType = llvm::PointerType::getUnqual(llvm::StructType::create(loader()->vm()->llvmContext(), mangler.cStr()+7));
+ _llvmType = loader()->vm()->typeJ3ObjectPtr;
doNativeName();
}
-llvm::Type* J3Class::virtualLLVMType() {
+llvm::Type* J3Class::llvmType() {
llvm::Type* res = _llvmType;
if(!res) {
@@ -838,10 +836,6 @@ llvm::Type* J3Class::virtualLLVMType() {
return res;
}
-llvm::Type* J3Class::llvmType() {
- return virtualLLVMType();
-}
-
void J3Field::dump() {
printf("Field: %ls %ls::%ls (%d)\n", type()->name()->cStr(), layout()->name()->cStr(), name()->cStr(), access());
}
Modified: vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc?rev=198240&r1=198239&r2=198240&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Mon Dec 30 13:39:21 2013
@@ -150,7 +150,7 @@ llvm::Value* J3CodeGen::flatten(llvm::Va
llvm::Value* J3CodeGen::unflatten(llvm::Value* v, J3Type* type) {
if(type == vm->typeInteger || type == vm->typeLong || type == vm->typeFloat || type == vm->typeDouble)
return v;
- else if(type->llvmType()->isPointerTy() && v->getType() != type->llvmType())
+ else if(type->llvmType()->isPointerTy())
return builder->CreateBitCast(v, type->llvmType());
else if(type == vm->typeBoolean || type == vm->typeByte || type == vm->typeShort)
return builder->CreateSExtOrTrunc(v, type->llvmType());
More information about the vmkit-commits
mailing list