Complete compiler portion of exception handling

Will still need much testing once the runtime portions are in place.

Change-Id: I90fc7c1fd89bfae89dfd19a6e422024b6b5454ec
diff --git a/src/compiler/codegen/arm/ArmLIR.h b/src/compiler/codegen/arm/ArmLIR.h
index 9d22c4f..b35f39f 100644
--- a/src/compiler/codegen/arm/ArmLIR.h
+++ b/src/compiler/codegen/arm/ArmLIR.h
@@ -347,6 +347,17 @@
     kArmCondNv = 0xf,    /* 1111 */
 } ArmConditionCode;
 
+typedef enum ArmThrowKind {
+    kArmThrowNullPointer,
+    kArmThrowDivZero,
+    kArmThrowArrayBounds,
+    kArmThrowVerificationError,
+    kArmThrowNegArraySize,
+    kArmThrowInternalError,
+    kArmThrowRuntimeException,
+    kArmThrowNoSuchMethod,
+} ArmThrowKind;
+
 #define isPseudoOpcode(opcode) ((int)(opcode) < 0)
 
 /*
@@ -355,6 +366,7 @@
  * Assemble.c.
  */
 typedef enum ArmOpcode {
+    kArmPseudoThrowTarget = -14,
     kArmPseudoCaseLabel = -13,
     kArmPseudoMethodEntry = -12,
     kArmPseudoMethodExit = -11,