[vmkit-commits] [vmkit] r198217 - cast the llvmDescriptor into a J3LayoutPtr before calling size()
Gael Thomas
gael.thomas at lip6.fr
Mon Dec 30 08:47:22 PST 2013
Author: gthomas
Date: Mon Dec 30 10:47:22 2013
New Revision: 198217
URL: http://llvm.org/viewvc/llvm-project?rev=198217&view=rev
Log:
cast the llvmDescriptor into a J3LayoutPtr before calling size()
Modified:
vmkit/branches/mcjit/include/j3/j3.h
vmkit/branches/mcjit/lib/j3/vm/j3.cc
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
Modified: vmkit/branches/mcjit/include/j3/j3.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/include/j3/j3.h?rev=198217&r1=198216&r2=198217&view=diff
==============================================================================
--- vmkit/branches/mcjit/include/j3/j3.h (original)
+++ vmkit/branches/mcjit/include/j3/j3.h Mon Dec 30 10:47:22 2013
@@ -82,6 +82,7 @@ namespace j3 {
llvm::Type* typeJ3VirtualTablePtr;
llvm::Type* typeJ3Type;
llvm::Type* typeJ3TypePtr;
+ llvm::Type* typeJ3LayoutPtr;
llvm::Type* typeJ3Thread;
llvm::Type* typeJ3ObjectTypePtr;
llvm::Type* typeJ3Class;
Modified: vmkit/branches/mcjit/lib/j3/vm/j3.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3.cc?rev=198217&r1=198216&r2=198217&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3.cc Mon Dec 30 10:47:22 2013
@@ -46,6 +46,7 @@ void J3::introspect() {
typeJ3VirtualTablePtr = llvm::PointerType::getUnqual(introspectType("class.j3::J3VirtualTable"));
typeJ3Type = introspectType("class.j3::J3Type");
typeJ3TypePtr = llvm::PointerType::getUnqual(typeJ3Type);
+ typeJ3LayoutPtr = llvm::PointerType::getUnqual(introspectType("class.j3::J3Layout"));
typeJ3ObjectTypePtr = llvm::PointerType::getUnqual(introspectType("class.j3::J3ObjectType"));
typeJ3Thread = llvm::PointerType::getUnqual(introspectType("class.j3::J3Thread"));
typeJ3Class = introspectType("class.j3::J3Class");
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=198217&r1=198216&r2=198217&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Mon Dec 30 10:47:22 2013
@@ -513,7 +513,7 @@ void J3CodeGen::newObject(J3Class* cl) {
llvm::Value* size;
if(!cl->isResolved()) {
- size = builder->CreateCall(funcJ3LayoutSize, cl->llvmDescriptor(module()));
+ size = builder->CreateCall(funcJ3LayoutSize, builder->CreateBitCast(cl->llvmDescriptor(module()), vm->typeJ3LayoutPtr));
} else {
size = builder->getInt64(cl->size());
}
More information about the vmkit-commits
mailing list