>
> Hi,
>
> Is the sysdepCallMethod for 'arm' (config/arm/common.h) complete
> (kaffe-1.0b4 version) ?
> Does the 'TestNative.java' run without any problems ?
It did when I tried it a year ago or so when I did the arm port.
>
> It looks like there is a problem with this code when trying to invoke
> a native method having more than one double sized argument
> (call->callsize[i]==2) or a mixture of single and double sized
> arguments...
>
> For example, if a native method has 2 arguments (both of type
> say 'double' or 'jlong') - 'case 2' fills in the r1 and r2 registers,
> followed by 'case 1' which fills in r0 and r1 - thereby overwriting r1 !
Yes, it could be optimized. But keep in mind that if
callsize[i] == 2, then args[i+1] does not contain any meaningful data.
So in your example, only the final assignment to r1 is meaningful.
(Please read also the comment in support.h)
- Godmar