deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:backend_arm:exceptions

This is an old revision of the document!


Exceptions

Terminology

  • ARM Exception: Exception which are specific to the ARM architecture.
  • 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.
Types of Java-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.

Invalid Link
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.

Floats in Exceptions

Java Exceptions

Program Exception

dev/crosscompiler/backend_arm/exceptions.1564990322.txt.gz · Last modified: 2019/08/05 09:32 by ursgraf