JIT on m68k?
richard at atheist.tamu.edu
Sat Feb 22 16:21:02 PST 1997
> First the good news - I managed to run HelloWorldApp :-)
> It took some time to get it working - you assume that a6 is the frame
> pointer, but it is a5 on the amiga...
How odd. I knew about the differences in returning pointers, but
I never dreamed the frmae pointer was different.
> But I have another problem, which is related to the interpreter as well:
> On the Amiga I have no way to detect NULL-pointer accesses.
> Do you have any clue?
Look at the beginning of kaffe.def. There is a CHECK_NULL define
that is used throughout the insn definitions, except that it is
only used if HAVE_NULLPOINTER_TRAP is defined. Presumably md.h
would be the right place to put that.
> I have not found *any* way the softcall_xxx instructions are called (soft.c).
> How are calls to them generated?
You mean how the soft_* bits are called? They are emitted as direct
calls from jit/icode.c's softcall_*.
> I don't understand your assembler syntax, and gcc does not understand it as
> well, at least when *I* code like you...
> I only know the (modern) syntax
> "move.l d0, d1"
> but not your
> "move%.l %/d0,%/d1"
> What is the meaning of this ambigous '%'??
What version of gcc are you using?
The "%." conditionally expands to ".", and the "%/" conditionally expands
to "%", depending on the base assembler syntax. Using them can get you
most of the way to portability across AT&T, MOT and MIT syntaxes.
More information about the kaffe