In config/m68k/common.h, we have in sysdepCallMethodV: asm volatile ("jsr %2@\n" \ : "=r" (d0), "=r" (d1) \ : "a" ((CALL)->function), \ "r" ((CALL)->nrargs * sizeof(int)) \ : "cc", "memory"); \ Now, I am not all that familiar with embedded machine code, but this looks like someone wants to pass nrargs*sizeof(int) as a parameter, but no register or instruction is specified for it to go in. There is only one argument to the jsr. Questions: 1. Is this OK? 2. Why does Linux have a different sysdepCallMethod implementation? 3. What are the argument passing conventions for jitted m68k code? - Are args pushed right to left (C) or left to right (Pascal) - Are args passed on the stack or registers?