[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