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 Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel