[vmkit-commits] [vmkit] r198495 - preserve field signatures in nameAndType entries.

Gael Thomas gael.thomas at lip6.fr
Sat Jan 4 06:44:34 PST 2014


Author: gthomas
Date: Sat Jan  4 08:44:34 2014
New Revision: 198495

URL: http://llvm.org/viewvc/llvm-project?rev=198495&view=rev
Log:
preserve field 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=198495&r1=198494&r2=198495&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3class.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3class.cc Sat Jan  4 08:44:34 2014
@@ -782,7 +782,10 @@ J3Field* J3Class::fieldAt(uint16_t idx,
 
 	check(ntIdx, J3Cst::CONSTANT_NameAndType);
 	const vmkit::Name* name = nameAt(ctpValues[ntIdx] >> 16);
-	J3Type*            type = loader()->getType(this, nameAt(ctpValues[ntIdx] & 0xffff));
+	J3Type*            type = (J3Type*)ctpResolved[ntIdx];
+
+	if(!type)
+		ctpResolved[ntIdx] = type = loader()->getType(this, nameAt(ctpValues[ntIdx] & 0xffff));
 	
 	res = J3Cst::isStatic(access) ? cl->findStaticField(name, type) : cl->findVirtualField(name, type);
 





More information about the vmkit-commits mailing list