> > 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