deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:backend_arm:code_generator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
dev:crosscompiler:backend_arm:code_generator [2020/12/23 11:41] – [Exception Stackframe] ursgrafdev:crosscompiler:backend_arm:code_generator [2021/07/27 08:27] – [Exception Stackframe] ursgraf
Line 16: Line 16:
 \\ \\
 ===== Exception Stackframe ===== ===== Exception Stackframe =====
-In case of an exception all volatile GPRs together with LR must be saved. Further, the nonvolatile GPRs which are used in this method must be saved as well. \\ +In case of an exception all volatile GPRs together with LR must be saved. The scratch register R6 must be saved firstbecause it is used to save the original stack pointer before any other registers can be pushed. The nonvolatile GPRs which are used in this method must be saved as well. \\ 
 EXTR's need no saving, as they are not allowed to be used in exceptions. If an exception method calls a method where EXTR are used (e.g. in an interrupt handler or in a timer subclass) you have to use ''US.ENABLE_FLOATS()'' to store them. EXTR's need no saving, as they are not allowed to be used in exceptions. If an exception method calls a method where EXTR are used (e.g. in an interrupt handler or in a timer subclass) you have to use ''US.ENABLE_FLOATS()'' to store them.
  
dev/crosscompiler/backend_arm/code_generator.txt · Last modified: 2022/12/20 11:34 by ursgraf