tfpt review “/shelveset:critical;REDMOND\sborde”
Fix to interpreter to get better stack trace even when call-site
caching kicks in. The try-catch needs to be added to all code that can
throw an exception in the interpreter (or preferably in one function
like Interpreter.Interpret), but I have not done that here.
Implements Thread.critical= by using Monitor.Enter/Exit. This will
work for 90% or more of scenarios IMO. MRI does not schedule other
threads while Thread.critical is true (while IronRuby will), but this is
more an implementation detail that falls out with the green threads
scheduler, than something that should be by spec. In fact, other threads
do get scheduled anyway if the critical thread does Thread.pass etc
(added tests to show this behavior if you want to play with it).
Added irtests.bat to run all IronRuby tests with a single command, in