From: Michael S. <msl...@co...> - 2004-01-19 15:17:29
|
On Jan 18, 2004, at 12:27 PM, Gwenole Beauchesne wrote: > As you can see, video performance is crappy. Probably that using the > Mach exception filters will help a little instead of going through > signal handlers with full register state save. Does any Mach expert > know how to add exception filters for SIGUSR2/SIGILL things too? I suppose I am the Mach expert on this mailing list. I have not looked at the SS code but maybe the concepts are similar to B2. Yes signals are crufty and slow on Darwin. What is more of a problem is that how the register state is saved is different from version to version. I do not know what you mean exactly "exception filters" in this context. It looks to me like you want to to be able to run some code whenever you encounter a bad memory access (for vosf), illegal instruction (probably for emulation purposes), and some sort of communication (the SIGUSR2, BTW what is that for). This is relatively straight forward. The first two would be handled by the exception handler, the third by a mach message. The message is usually done with MIG but since it looks like you are using C++ and I assume the code is organized similarly to B2 it would probably be easier to shoehorn it directly in like I did with the B2 code. Tell me which files to look at specifically and give some details as to why you did things certain ways which will not be clear from just looking at the code and I will look into it and help you out. mzs |