|
From: Jeremy F. <je...@go...> - 2005-02-03 04:15:42
|
On Thu, 2005-02-03 at 14:33 +1100, Steve Blackburn wrote: > In Jikes RVM we generate a number of software traps using the INT instruction. > These are int 40 through to int 43. We use these to catch conditions such as > array bounds violations, throw control to a signal handler which then starts our > (Java) execption handling mechanism. So, yes, we do use these, and we catch > them in a regular signal hanler. Oh, OK, I see. > Perhaps all that needs to be done is for valgrind to implemetn the behavior you > describe above: make it look like a SIGSEGV. Right, that's easy. I don't think you can tell from the signal info alone which int instruction it was, so we can easily simulate the effect of them all by calling a helper with, say, INT $99 in it. Hm, need to make sure that all the VCPU state is up to date at that point, so you can see it from the signal handler. Do you look at other CPU state from the handler, or just EIP? Do you expect to be able to continue after the INT instruction, or does it always raise a Java exception? J |