Hi guys,
I am working on passing register values to gc_safepoint(). I fixed up
gc_alloc() with this simple function that does pusha and copies the
values:
static inline void save_registers(struct register_values *regs)
{
void *esp;
__asm__ volatile (
"pusha\n\t"
"movl %%esp, %0\n\t"
: "=r"(esp)
);
memcpy(regs, esp, sizeof *regs);
__asm__ volatile ("popa");
}
However, the part I thought would be simple is turning out to be hard.
Whenever we enter a safepoint from the signal handler, we lose
uc->uc_mcontext.gregs because of the "bottom half" infrastructure there.
Any suggestions how to deal with this?
Pekka
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel