[vmkit-commits] [vmkit] r198236 - use nullValue when a native call return a null handle
Gael Thomas
gael.thomas at lip6.fr
Mon Dec 30 10:56:46 PST 2013
Author: gthomas
Date: Mon Dec 30 12:56:45 2013
New Revision: 198236
URL: http://llvm.org/viewvc/llvm-project?rev=198236&view=rev
Log:
use nullValue when a native call return a null handle
Modified:
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
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=198236&r1=198235&r2=198236&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Mon Dec 30 12:56:45 2013
@@ -86,6 +86,10 @@ J3CodeGen::J3CodeGen(vmkit::BumpAllocato
}
#endif
+ nullValue = builder
+ ->CreateIntToPtr(llvm::ConstantInt::get(builder->getIntPtrTy(vm->dataLayout()), (uintptr_t)0),
+ vm->typeJ3ObjectPtr);
+
if(J3Cst::isNative(method->access()))
generateNative();
else
@@ -1492,10 +1496,6 @@ void J3CodeGen::generateJava() {
if(!reader.adjustSize(length))
J3::classFormatError(cl, L"Code attribute of %ls %ls is too large (%d)", method->name()->cStr(), method->sign()->cStr(), length);
- nullValue = builder
- ->CreateIntToPtr(llvm::ConstantInt::get(builder->getIntPtrTy(vm->dataLayout()), (uintptr_t)0),
- vm->typeJ3ObjectPtr);
-
llvm::DIBuilder* dbgBuilder = new llvm::DIBuilder(*module());
dbgInfo =
@@ -1620,7 +1620,7 @@ void J3CodeGen::generateNative() {
builder->CreateCondBr(builder->CreateIsNull(res), ifnull, ifnotnull);
builder->SetInsertPoint(bb = ifnull);
- builder->CreateRet(unflatten(res, methodType->out()));
+ builder->CreateRet(unflatten(nullValue, methodType->out()));
builder->SetInsertPoint(bb = ifnotnull);
res = unflatten(handleToObject(res), methodType->out());
More information about the vmkit-commits
mailing list