deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:backend_arm:exceptions

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
Next revisionBoth sides next revision
dev:crosscompiler:backend_arm:exceptions [2019/08/05 09:19] – [Terminology] ursgrafdev:crosscompiler:backend_arm:exceptions [2019/08/05 09:32] – [ARM Exceptions] ursgraf
Line 2: Line 2:
 ===== Terminology ===== ===== Terminology =====
   * ARM Exception: Exception which are specific to the ARM architecture.   * ARM Exception: Exception which are specific to the ARM architecture.
-  * Interrupt: A certain type of a PPC exception, caused by asynchronous events by external hardware.+  * Interrupt: A certain type of a ARM exception, caused by asynchronous events by external hardware.
   * Java Exception: Exception defined in the Java language specification. All Java exceptions are extensions of the class //Throwable//   * Java Exception: Exception defined in the Java language specification. All Java exceptions are extensions of the class //Throwable//
  
Line 9: Line 9:
  
 ===== 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. 
 +[{{ .:ppcexception.png?550&direct |//PPC Exceptions and Interrupts// }}]
 +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 //synthetic// and will not be translated into code.\\
 +The code generator has to create a special exception stack frame.\\
 +The ARM architecture reserves 4 bytes of memory at each exception vector. This is just enough to place a branching instruction there which causes the processor to jump to the right exception code.
  
  
dev/crosscompiler/backend_arm/exceptions.txt · Last modified: 2019/11/17 18:24 by ursgraf