Bug in Method.invoke() / Patch

Godmar Back gback at cs.utah.edu
Wed Jul 25 10:21:34 PDT 2001

 Hi Enno,

thanks for your report.

> Attached is a patch, which to my opinion should fix this (using
> getInheritedMethodIndex() in classMethod.c), but I would appreciate
> if somebody more familiar with this code could check my explanation/fix.

I agree with your explanation, but I have doubts about the fix.  
classMethod.c:getInheritedMethodIndex() should probably be static 
anyway, and we mustn't tweak m->idx after a class was loaded.

I think we're screwing ourselves when we set meth->slot
in Class.c:makeMethod in the case where CLASS_IS_INTERFACE(meth->class).
I haven't thought through what the best fix might be (probably handle
the case where CLASS_IS_INTERFACE(meth->class) separately in 
Method.c:invoke0(), but I don't have the time right now to do that.

	- Godmar

More information about the kaffe mailing list