Thursday, June 22, 2006

Nested Exception Handling in LogTM

LogTM currently does not support nested exceptions. To support such event, the call back for Core_Exception and Core_Exception_Done in Simics should be re-examined.

In $GEMS/ruby/module/ruby.c, the Core_Exception and Core_Exception_Done callbacks are registered here. The difficult part is that Core_Exception and Core_Exception_Done's detailed implementation is not so clear to me at the moment. Also, LogTM could abort in the middle of window spill/fill exceptions, which would alter the TL level unexpectedly. To handle this situation, I implemented a new handle that is registered with both Core_Exception and Core_Exception_Done haps $GEMS/ruby/simics/command.C file.

No comments: