[kaffe] patch for kaffe1.0.7jit3 code runing on MIPS
stack at cs.utah.edu
Thu Jul 8 13:37:47 PDT 2004
> There is libunwind <http://www.hpl.hp.com/research/linux/libunwind/>,
> but it only supports x86 and IA-64.
> GCC has fairly sophisticated unwinding support, in gcc/unwind*. For
> MIPS, and probably most other architectures too, it uses the DWARF-2
> debugging format for unwinding, because that format stores information
> such as what registers get saved on the stack, and where. It can also
> do file names and line numbers (something I'm investigating right now,
> because I would like to get debugging stack traces in GCJ without
> having to fork external processes).
So, are you trying to get GCJ to work on MIPS as well?
> The problem with that approach in Kaffe would be that you would need
> to generate that debugging info for jitted frames, and I don't know
> how well that would fit into the unwinder (it looks, to me, very
> specific to ELF).
I ran into similar problems with the powerpc jitter. Eventually, I came
to the conclusion that the best thing to do for the immediate future is to
just forget about trying to unwind any code not produced by the jitter and
dump the registers before calling any native code. It'd be a performance
hit, but generating the right DWARF junk and whatever else was just
getting too complicated. Anyways, you still need to deal with code that
doesn't have unwind info...
You might want to look at what mono or one of the other VMs do here...
> Casey Marshall || csm at gnu.org
More information about the kaffe