[vmkit-commits] [vmkit] r198494 - preserve method signatures in nameAndType entries.
Gael Thomas
gael.thomas at lip6.fr
Sat Jan 4 06:43:10 PST 2014
Author: gthomas
Date: Sat Jan 4 08:43:10 2014
New Revision: 198494
URL: http://llvm.org/viewvc/llvm-project?rev=198494&view=rev
Log:
preserve method signatures in nameAndType entries.
Modified:
vmkit/branches/mcjit/lib/j3/vm/j3class.cc
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=198494&r1=198493&r2=198494&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3class.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3class.cc Sat Jan 4 08:43:10 2014
@@ -744,10 +744,15 @@ J3Method* J3Class::interfaceOrMethodAt(u
J3ObjectType* cl = classAt(ctpValues[idx] >> 16);
check(ntIdx, J3Cst::CONSTANT_NameAndType);
+
const vmkit::Name* name = nameAt(ctpValues[ntIdx] >> 16);
- const vmkit::Name* signature = nameAt(ctpValues[ntIdx] & 0xffff);
+ J3Signature* signature = (J3Signature*)ctpResolved[ntIdx];
+ if(!signature)
+ ctpResolved[idx] = signature = loader()->getSignature(this, nameAt(ctpValues[ntIdx] & 0xffff));
+
+ res = loader()->method(access, cl, name, signature);
- res = loader()->method(access, cl, name, loader()->getSignature(this, signature));
+ ctpResolved[idx] = res;
return res;
}
More information about the vmkit-commits
mailing list