Opened 7 years ago
#33 new enhancement
Updating Exception Built-ins to CFA Code (Requires Virtual)
Reported by: | ajbeach | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | cfa-cc |
Version: | 1.0 | Keywords: | |
Cc: |
Description
This only applies once explicate/strict virtual has been implemented and it is time to implement the base exception as a virtual trait.
It should then be easier to implement the parts of the exception handling system in Cforall, instead of plan C. In particular the memory management section (currently, the functions allocate exception and delete exception) uses a lot of parts of that trait.
The actual unwinding code will likely have to stay in plain C, due to name mangling and inlined assembly. The other functions can go in either language, as long as name mangling is accounted for properly. Also the C code should be able to get away with an opaque definition of the types, the stack unwinding doesn't need the data in the structure.