This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dev:crosscompiler:backend_arm:exceptions [2019/08/23 16:59] – [Java Exceptions] ursgraf | dev:crosscompiler:backend_arm:exceptions [2019/11/17 18:24] (current) – [Floats in Exceptions] ursgraf | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ===== ARM Exceptions ===== | ===== ARM Exceptions ===== | ||
| Each ARM exception is caused by a synchronous or asynchronous event and generally causes the processor to switch its state and jump to its proper exception vector. | Each ARM exception is caused by a synchronous or asynchronous event and generally causes the processor to switch its state and jump to its proper exception vector. | ||
| - | [{{ .:ppcexception.png? | + | [{{ .:armexception.png? |
| Exception classes and their corresponding exception methods have to be specified in the configuration. Instances of these classes are never created and therefore the object constructors are defined as // | Exception classes and their corresponding exception methods have to be specified in the configuration. Instances of these classes are never created and therefore the object constructors are defined as // | ||
| The code generator has to create a special exception stack frame.\\ | The code generator has to create a special exception stack frame.\\ | ||
| Line 17: | Line 17: | ||
| ===== Floats in Exceptions ===== | ===== Floats in Exceptions ===== | ||
| + | In order to save processing time, floating point registers are not saved when entering exception handling. If an exception method calls a another method which uses EXTRs, however, all volatile EXTR's will be saved by a call to // | ||
| + | **Important: | ||
| + | **Important: | ||
| Line 46: | Line 49: | ||
| The figure below gives an example for the handling of exceptions. | The figure below gives an example for the handling of exceptions. | ||
| - | [{{ .:..: | + | [{{ .:exceptionoverviewarm.png?700 | //Example for handling of exceptions// |