[vmkit-commits] [vmkit] r198064 - fix the bug in invokeVirtual
Gael Thomas
gael.thomas at lip6.fr
Thu Dec 26 15:47:07 PST 2013
Author: gthomas
Date: Thu Dec 26 17:47:07 2013
New Revision: 198064
URL: http://llvm.org/viewvc/llvm-project?rev=198064&view=rev
Log:
fix the bug in invokeVirtual
Modified:
vmkit/branches/mcjit/lib/j3/vm/j3method.cc
Modified: vmkit/branches/mcjit/lib/j3/vm/j3method.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3method.cc?rev=198064&r1=198063&r2=198064&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3method.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3method.cc Thu Dec 26 17:47:07 2013
@@ -115,7 +115,7 @@ J3Method* J3Method::resolve(J3ObjectHand
if(cl()->loader()->vm()->options()->debugLinking)
fprintf(stderr, "virtual linking %ls::%ls\n", cl()->name()->cStr(), name()->cStr());
vmkit::Names* n = cl()->loader()->vm()->names();
- return cl()->findVirtualMethod(name(), sign());
+ return obj->vt()->type()->asObjectType()->findVirtualMethod(name(), sign());
}
@@ -157,7 +157,7 @@ J3Value J3Method::internalInvoke(bool st
target = this;
else {
/* can not use trampoline here */
- J3ObjectHandle* self = (J3ObjectHandle*)args[0].PointerVal;
+ J3ObjectHandle* self = handle ? handle : inArgs[0].valObject;
target = resolve(self);
}
More information about the vmkit-commits
mailing list