Differences between revisions 4 and 5
Revision 4 as of 2006-12-07 16:35:31
Size: 1040
Revision 5 as of 2009-09-20 21:55:15
Size: 1040
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Attendees: Pervov, Afremov, Shimansky, Fedotov 0 min, Volosyuk 5 min, Zakirov 15 min

5 @file is missing
6 check if number of header files could be decreased
19 remove stdcall and make function static
23, 37 replace some if(interpreter_enabled()) with assert
23 use is_unwindable
36 use raise_by_name() in interpreter and other VM code, so the temporary fix isn't needed
43 TRACE2 should be removed
44 propog… -> propag...
Split the file into two files: vm specific and jit specific

Following ideas are about common exception design:

  • Use undestructive unwinding (returns + setting exceptions in TLS)
  • Use jobects or lazy exceptions
    • Exception is lazy if it is created based on partial information (no jobject passed)
    • It is represented by struct which contains jobject, exception class name, char* message, jobject chained
  • Destroy m2n in jit stub after execution of jit-specific exn_propagate function.
  • Use gc-enabled mode
  • Use common object validity asserts in interpreter's code

Code_Inspection:_exceptions.cpp (last edited 2009-09-20 21:55:15 by localhost)