CACAO
Macros | Enumerations
md-trap.hpp File Reference

Go to the source code of this file.

Macros

#define TRAP_INSTRUCTION_IS_LOAD   0
 Trap number defines. More...
 
#define MD_TRAP_COMPILER_FIXUP(xpc, ra, sp, pv)
 Macro to fixup a compiler stub. More...
 

Enumerations

enum  {
  TRAP_NullPointerException = 0, TRAP_ArithmeticException = 1, TRAP_ArrayIndexOutOfBoundsException = 2, TRAP_ArrayStoreException = 3,
  TRAP_ClassCastException = 4, TRAP_CHECK_EXCEPTION = 5, TRAP_PATCHER = 6, TRAP_COMPILER = 7,
  TRAP_COUNTDOWN = 8
}
 

Macro Definition Documentation

#define MD_TRAP_COMPILER_FIXUP (   xpc,
  ra,
  sp,
  pv 
)
Value:
do { \
(pv) = (xpc); \
(xpc) = (void*) (((uintptr_t) (ra)) - 2); \
} while(0)
#define pv
Definition: md-asm.hpp:65
#define ra
Definition: md-asm.hpp:62
#define xpc
Definition: md-asm.hpp:51

Macro to fixup a compiler stub.

The XPC is the RA minus 2, because the RA points to the instruction after the call.

Definition at line 58 of file md-trap.hpp.

#define TRAP_INSTRUCTION_IS_LOAD   0

Trap number defines.

On this architecture (s390) we use illegal instructions as trap instructions.

Definition at line 39 of file md-trap.hpp.

Enumeration Type Documentation

anonymous enum
Enumerator
TRAP_NullPointerException 
TRAP_ArithmeticException 
TRAP_ArrayIndexOutOfBoundsException 
TRAP_ArrayStoreException 
TRAP_ClassCastException 
TRAP_CHECK_EXCEPTION 
TRAP_PATCHER 
TRAP_COMPILER 
TRAP_COUNTDOWN 

Definition at line 41 of file md-trap.hpp.