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

Next revision
Previous revision
Next revisionBoth sides next revision
dev:crosscompiler:backend_arm:exceptions [2018/11/02 17:30] – created 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//
  
-[{{ .:javaexceptions.png?550&direct |//Types of Java-Exceptions// }}]+[{{ :dev:crosscompiler:backend_ppc:javaexceptions.png?550&direct |//Types of Java-Exceptions// }}] 
  
 ===== 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