Remove the THROW_VERIFICATION_ERROR op and supporting code.

Change-Id: Idc40a2c379048c7e3d74f50b2bd765a507a417ce
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h
index 914d2ab..02c7621 100644
--- a/src/compiler/CompilerIR.h
+++ b/src/compiler/CompilerIR.h
@@ -688,7 +688,6 @@
   kThrowNullPointer,
   kThrowDivZero,
   kThrowArrayBounds,
-  kThrowVerificationError,
   kThrowNoSuchMethod,
   kThrowStackOverflow,
 };
diff --git a/src/compiler/codegen/GenCommon.cc b/src/compiler/codegen/GenCommon.cc
index 6cb701f..8c431f5 100644
--- a/src/compiler/codegen/GenCommon.cc
+++ b/src/compiler/codegen/GenCommon.cc
@@ -829,13 +829,6 @@
 #endif
 }
 
-void genThrowVerificationError(CompilationUnit* cUnit, int info1, int info2)
-{
-  callRuntimeHelperImmImm(cUnit,
-                          ENTRYPOINT_OFFSET(pThrowVerificationErrorFromCode),
-                          info1, info2);
-}
-
 void handleSuspendLaunchpads(CompilationUnit *cUnit)
 {
   LIR** suspendLabel = (LIR **)cUnit->suspendLaunchpads.elemList;
@@ -929,12 +922,6 @@
       case kThrowDivZero:
         funcOffset = ENTRYPOINT_OFFSET(pThrowDivZeroFromCode);
         break;
-      case kThrowVerificationError:
-        loadConstant(cUnit, rARG0, v1);
-        loadConstant(cUnit, rARG1, v2);
-        funcOffset =
-          ENTRYPOINT_OFFSET(pThrowVerificationErrorFromCode);
-        break;
       case kThrowNoSuchMethod:
         opRegCopy(cUnit, rARG0, v1);
         funcOffset =
diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc
index 6b78765..c84d6d3 100644
--- a/src/compiler/codegen/MethodBitcode.cc
+++ b/src/compiler/codegen/MethodBitcode.cc
@@ -378,16 +378,6 @@
   defineValue(cUnit, res, rlDest.origSReg);
 }
 
-void convertThrowVerificationError(CompilationUnit* cUnit, int info1, int info2)
-{
-  llvm::Function* func = cUnit->intrinsic_helper->GetIntrinsicFunction(
-      greenland::IntrinsicHelper::ThrowVerificationError);
-  llvm::SmallVector<llvm::Value*, 2> args;
-  args.push_back(cUnit->irb->getInt32(info1));
-  args.push_back(cUnit->irb->getInt32(info2));
-  cUnit->irb->CreateCall(func, args);
-}
-
 void emitSuspendCheck(CompilationUnit* cUnit)
 {
   greenland::IntrinsicHelper::IntrinsicId id =
@@ -1359,29 +1349,13 @@
       }
       break;
 
-   case Instruction::THROW_VERIFICATION_ERROR:
-      convertThrowVerificationError(cUnit, vA, vB);
-      UNIMPLEMENTED(WARNING) << "Need dead code elimination pass"
-                             << " - disabling bitcode verification";
-      cUnit->enableDebug &= ~(1 << kDebugVerifyBitcode);
-      break;
-
     case Instruction::MOVE_RESULT_WIDE:
     case Instruction::MOVE_RESULT:
     case Instruction::MOVE_RESULT_OBJECT:
-#if defined(TARGET_ARM)
       /*
-       * Instruction rewriting on verification failure can eliminate
-       * the invoke that feeds this move0result.  It won't ever be reached,
-       * so we can ignore it.
-       * TODO: verify that previous instruction is THROW_VERIFICATION_ERROR,
-       * or better, add dead-code elimination.
+       * All move_results should have been folded into the preceeding invoke.
        */
-      UNIMPLEMENTED(WARNING) << "Need to verify previous inst was rewritten";
-#else
-      UNIMPLEMENTED(WARNING) << "need x86 move-result fusing";
-#endif
-
+      LOG(FATAL) << "Unexpected move_result";
       break;
 
     case Instruction::MONITOR_ENTER:
@@ -2632,16 +2606,6 @@
   genInstanceof(cUnit, typeIdx, rlDest, rlSrc);
 }
 
-void cvtThrowVerificationError(CompilationUnit* cUnit, llvm::CallInst* callInst)
-{
-  DCHECK_EQ(callInst->getNumArgOperands(), 2U);
-  llvm::ConstantInt* info1 =
-      llvm::dyn_cast<llvm::ConstantInt>(callInst->getArgOperand(0));
-  llvm::ConstantInt* info2 =
-      llvm::dyn_cast<llvm::ConstantInt>(callInst->getArgOperand(1));
-  genThrowVerificationError(cUnit, info1->getZExtValue(), info2->getZExtValue());
-}
-
 void cvtThrow(CompilationUnit* cUnit, llvm::CallInst* callInst)
 {
   DCHECK_EQ(callInst->getNumArgOperands(), 1U);
@@ -3103,9 +3067,6 @@
             case greenland::IntrinsicHelper::Throw:
               cvtThrow(cUnit, callInst);
               break;
-            case greenland::IntrinsicHelper::ThrowVerificationError:
-              cvtThrowVerificationError(cUnit, callInst);
-              break;
             case greenland::IntrinsicHelper::MonitorEnter:
               cvtMonitorEnterExit(cUnit, true /* isEnter */, callInst);
               break;
diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc
index 5337726..b4e14ce 100644
--- a/src/compiler/codegen/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/MethodCodegenDriver.cc
@@ -214,7 +214,6 @@
   RegLocation rlResult = badLoc;
   Instruction::Code opcode = mir->dalvikInsn.opcode;
   int optFlags = mir->optimizationFlags;
-  uint32_t vA = mir->dalvikInsn.vA;
   uint32_t vB = mir->dalvikInsn.vB;
   uint32_t vC = mir->dalvikInsn.vC;
 
@@ -386,10 +385,6 @@
       genThrow(cUnit, rlSrc[0]);
       break;
 
-    case Instruction::THROW_VERIFICATION_ERROR:
-      genThrowVerificationError(cUnit, vA, vB);
-      break;
-
     case Instruction::ARRAY_LENGTH:
       int lenOffset;
       lenOffset = Array::LengthOffset().Int32Value();
diff --git a/src/compiler_llvm/art_module.ll b/src/compiler_llvm/art_module.ll
index 124b9b7..7ea12f9 100644
--- a/src/compiler_llvm/art_module.ll
+++ b/src/compiler_llvm/art_module.ll
@@ -59,7 +59,6 @@
 declare void @art_throw_null_pointer_exception_from_code(i32)
 declare void @art_throw_stack_overflow_from_code()
 declare void @art_throw_exception_from_code(%JavaObject*)
-declare void @art_throw_verification_error_from_code(%JavaObject*, i32, i32)
 
 declare i32 @art_find_catch_block_from_code(%JavaObject*, i32)
 
diff --git a/src/compiler_llvm/generated/art_module.cc b/src/compiler_llvm/generated/art_module.cc
index 2111339..aac4cd8 100644
--- a/src/compiler_llvm/generated/art_module.cc
+++ b/src/compiler_llvm/generated/art_module.cc
@@ -130,23 +130,24 @@
 std::vector<Type*>FuncTy_12_args;
 FuncTy_12_args.push_back(PointerTy_1);
 FuncTy_12_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_12_args.push_back(IntegerType::get(mod->getContext(), 32));
 FunctionType* FuncTy_12 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_12_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_13_args;
-FuncTy_13_args.push_back(PointerTy_1);
 FuncTy_13_args.push_back(IntegerType::get(mod->getContext(), 32));
+FuncTy_13_args.push_back(PointerTy_1);
+FuncTy_13_args.push_back(PointerTy_1);
 FunctionType* FuncTy_13 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_13_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_14_args;
 FuncTy_14_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_14_args.push_back(PointerTy_1);
+FuncTy_14_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_14_args.push_back(PointerTy_1);
 FunctionType* FuncTy_14 = FunctionType::get(
  /*Result=*/PointerTy_1,
@@ -156,43 +157,42 @@
 std::vector<Type*>FuncTy_15_args;
 FuncTy_15_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_15_args.push_back(PointerTy_1);
-FuncTy_15_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_15_args.push_back(PointerTy_1);
 FunctionType* FuncTy_15 = FunctionType::get(
- /*Result=*/PointerTy_1,
+ /*Result=*/Type::getVoidTy(mod->getContext()),
  /*Params=*/FuncTy_15_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_16_args;
 FuncTy_16_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_16_args.push_back(PointerTy_1);
+FuncTy_16_args.push_back(PointerTy_1);
+FuncTy_16_args.push_back(PointerTy_1);
 FunctionType* FuncTy_16 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
+ /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_16_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_17_args;
+FuncTy_17_args.push_back(PointerTy_1);
 FuncTy_17_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_17_args.push_back(PointerTy_1);
-FuncTy_17_args.push_back(PointerTy_1);
-FuncTy_17_args.push_back(PointerTy_1);
 FunctionType* FuncTy_17 = FunctionType::get(
  /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_17_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_18_args;
+FuncTy_18_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_18_args.push_back(PointerTy_1);
 FuncTy_18_args.push_back(IntegerType::get(mod->getContext(), 32));
 FunctionType* FuncTy_18 = FunctionType::get(
- /*Result=*/PointerTy_1,
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_18_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_19_args;
 FuncTy_19_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_19_args.push_back(PointerTy_1);
-FuncTy_19_args.push_back(IntegerType::get(mod->getContext(), 32));
+FuncTy_19_args.push_back(IntegerType::get(mod->getContext(), 64));
 FunctionType* FuncTy_19 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_19_args,
@@ -201,7 +201,7 @@
 std::vector<Type*>FuncTy_20_args;
 FuncTy_20_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_20_args.push_back(PointerTy_1);
-FuncTy_20_args.push_back(IntegerType::get(mod->getContext(), 64));
+FuncTy_20_args.push_back(PointerTy_1);
 FunctionType* FuncTy_20 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_20_args,
@@ -210,7 +210,6 @@
 std::vector<Type*>FuncTy_21_args;
 FuncTy_21_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_21_args.push_back(PointerTy_1);
-FuncTy_21_args.push_back(PointerTy_1);
 FunctionType* FuncTy_21 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_21_args,
@@ -220,7 +219,7 @@
 FuncTy_22_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_22_args.push_back(PointerTy_1);
 FunctionType* FuncTy_22 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/IntegerType::get(mod->getContext(), 64),
  /*Params=*/FuncTy_22_args,
  /*isVarArg=*/false);
 
@@ -228,15 +227,17 @@
 FuncTy_23_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_23_args.push_back(PointerTy_1);
 FunctionType* FuncTy_23 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 64),
+ /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_23_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_24_args;
 FuncTy_24_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_24_args.push_back(PointerTy_1);
+FuncTy_24_args.push_back(PointerTy_1);
+FuncTy_24_args.push_back(IntegerType::get(mod->getContext(), 32));
 FunctionType* FuncTy_24 = FunctionType::get(
- /*Result=*/PointerTy_1,
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_24_args,
  /*isVarArg=*/false);
 
@@ -244,7 +245,7 @@
 FuncTy_25_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_25_args.push_back(PointerTy_1);
 FuncTy_25_args.push_back(PointerTy_1);
-FuncTy_25_args.push_back(IntegerType::get(mod->getContext(), 32));
+FuncTy_25_args.push_back(IntegerType::get(mod->getContext(), 64));
 FunctionType* FuncTy_25 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_25_args,
@@ -254,7 +255,7 @@
 FuncTy_26_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_26_args.push_back(PointerTy_1);
 FuncTy_26_args.push_back(PointerTy_1);
-FuncTy_26_args.push_back(IntegerType::get(mod->getContext(), 64));
+FuncTy_26_args.push_back(PointerTy_1);
 FunctionType* FuncTy_26 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_26_args,
@@ -264,88 +265,87 @@
 FuncTy_27_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_27_args.push_back(PointerTy_1);
 FuncTy_27_args.push_back(PointerTy_1);
-FuncTy_27_args.push_back(PointerTy_1);
 FunctionType* FuncTy_27 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/IntegerType::get(mod->getContext(), 64),
  /*Params=*/FuncTy_27_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_28_args;
-FuncTy_28_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_28_args.push_back(PointerTy_1);
 FuncTy_28_args.push_back(PointerTy_1);
 FunctionType* FuncTy_28 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 64),
+ /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_28_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_29_args;
 FuncTy_29_args.push_back(PointerTy_1);
+FuncTy_29_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_29_args.push_back(PointerTy_1);
+FuncTy_29_args.push_back(IntegerType::get(mod->getContext(), 32));
 FunctionType* FuncTy_29 = FunctionType::get(
- /*Result=*/PointerTy_1,
+ /*Result=*/Type::getVoidTy(mod->getContext()),
  /*Params=*/FuncTy_29_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_30_args;
 FuncTy_30_args.push_back(PointerTy_1);
-FuncTy_30_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_30_args.push_back(PointerTy_1);
-FuncTy_30_args.push_back(IntegerType::get(mod->getContext(), 32));
 FunctionType* FuncTy_30 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_30_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_31_args;
-FuncTy_31_args.push_back(PointerTy_1);
-FuncTy_31_args.push_back(PointerTy_1);
+FuncTy_31_args.push_back(Type::getDoubleTy(mod->getContext()));
 FunctionType* FuncTy_31 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/IntegerType::get(mod->getContext(), 64),
  /*Params=*/FuncTy_31_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_32_args;
 FuncTy_32_args.push_back(Type::getDoubleTy(mod->getContext()));
 FunctionType* FuncTy_32 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 64),
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_32_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_33_args;
-FuncTy_33_args.push_back(Type::getDoubleTy(mod->getContext()));
+FuncTy_33_args.push_back(Type::getFloatTy(mod->getContext()));
 FunctionType* FuncTy_33 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/IntegerType::get(mod->getContext(), 64),
  /*Params=*/FuncTy_33_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_34_args;
 FuncTy_34_args.push_back(Type::getFloatTy(mod->getContext()));
 FunctionType* FuncTy_34 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 64),
+ /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_34_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_35_args;
-FuncTy_35_args.push_back(Type::getFloatTy(mod->getContext()));
+FuncTy_35_args.push_back(PointerTy_1);
 FunctionType* FuncTy_35 = FunctionType::get(
  /*Result=*/IntegerType::get(mod->getContext(), 32),
  /*Params=*/FuncTy_35_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_36_args;
+FuncTy_36_args.push_back(IntegerType::get(mod->getContext(), 32));
+FuncTy_36_args.push_back(PointerTy_1);
 FuncTy_36_args.push_back(PointerTy_1);
 FunctionType* FuncTy_36 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 32),
+ /*Result=*/Type::getVoidTy(mod->getContext()),
  /*Params=*/FuncTy_36_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_37_args;
+FuncTy_37_args.push_back(PointerTy_1);
 FuncTy_37_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_37_args.push_back(PointerTy_1);
-FuncTy_37_args.push_back(PointerTy_1);
 FunctionType* FuncTy_37 = FunctionType::get(
- /*Result=*/Type::getVoidTy(mod->getContext()),
+ /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_37_args,
  /*isVarArg=*/false);
 
@@ -353,32 +353,23 @@
 FuncTy_38_args.push_back(PointerTy_1);
 FuncTy_38_args.push_back(IntegerType::get(mod->getContext(), 32));
 FuncTy_38_args.push_back(PointerTy_1);
+FuncTy_38_args.push_back(PointerTy_1);
 FunctionType* FuncTy_38 = FunctionType::get(
  /*Result=*/PointerTy_1,
  /*Params=*/FuncTy_38_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_39_args;
-FuncTy_39_args.push_back(PointerTy_1);
-FuncTy_39_args.push_back(IntegerType::get(mod->getContext(), 32));
-FuncTy_39_args.push_back(PointerTy_1);
-FuncTy_39_args.push_back(PointerTy_1);
 FunctionType* FuncTy_39 = FunctionType::get(
- /*Result=*/PointerTy_1,
+ /*Result=*/IntegerType::get(mod->getContext(), 1),
  /*Params=*/FuncTy_39_args,
  /*isVarArg=*/false);
 
 std::vector<Type*>FuncTy_40_args;
+FuncTy_40_args.push_back(PointerTy_1);
 FunctionType* FuncTy_40 = FunctionType::get(
- /*Result=*/IntegerType::get(mod->getContext(), 1),
- /*Params=*/FuncTy_40_args,
- /*isVarArg=*/false);
-
-std::vector<Type*>FuncTy_41_args;
-FuncTy_41_args.push_back(PointerTy_1);
-FunctionType* FuncTy_41 = FunctionType::get(
  /*Result=*/Type::getVoidTy(mod->getContext()),
- /*Params=*/FuncTy_41_args,
+ /*Params=*/FuncTy_40_args,
  /*isVarArg=*/true);
 
 
@@ -538,21 +529,10 @@
 AttrListPtr func_art_throw_exception_from_code_PAL;
 func_art_throw_exception_from_code->setAttributes(func_art_throw_exception_from_code_PAL);
 
-Function* func_art_throw_verification_error_from_code = mod->getFunction("art_throw_verification_error_from_code");
-if (!func_art_throw_verification_error_from_code) {
-func_art_throw_verification_error_from_code = Function::Create(
- /*Type=*/FuncTy_12,
- /*Linkage=*/GlobalValue::ExternalLinkage,
- /*Name=*/"art_throw_verification_error_from_code", mod); // (external, no body)
-func_art_throw_verification_error_from_code->setCallingConv(CallingConv::C);
-}
-AttrListPtr func_art_throw_verification_error_from_code_PAL;
-func_art_throw_verification_error_from_code->setAttributes(func_art_throw_verification_error_from_code_PAL);
-
 Function* func_art_find_catch_block_from_code = mod->getFunction("art_find_catch_block_from_code");
 if (!func_art_find_catch_block_from_code) {
 func_art_find_catch_block_from_code = Function::Create(
- /*Type=*/FuncTy_13,
+ /*Type=*/FuncTy_12,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_catch_block_from_code", mod); // (external, no body)
 func_art_find_catch_block_from_code->setCallingConv(CallingConv::C);
@@ -563,7 +543,7 @@
 Function* func_art_alloc_object_from_code = mod->getFunction("art_alloc_object_from_code");
 if (!func_art_alloc_object_from_code) {
 func_art_alloc_object_from_code = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_alloc_object_from_code", mod); // (external, no body)
 func_art_alloc_object_from_code->setCallingConv(CallingConv::C);
@@ -574,7 +554,7 @@
 Function* func_art_alloc_object_from_code_with_access_check = mod->getFunction("art_alloc_object_from_code_with_access_check");
 if (!func_art_alloc_object_from_code_with_access_check) {
 func_art_alloc_object_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_alloc_object_from_code_with_access_check", mod); // (external, no body)
 func_art_alloc_object_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -585,7 +565,7 @@
 Function* func_art_alloc_array_from_code = mod->getFunction("art_alloc_array_from_code");
 if (!func_art_alloc_array_from_code) {
 func_art_alloc_array_from_code = Function::Create(
- /*Type=*/FuncTy_15,
+ /*Type=*/FuncTy_14,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_alloc_array_from_code", mod); // (external, no body)
 func_art_alloc_array_from_code->setCallingConv(CallingConv::C);
@@ -596,7 +576,7 @@
 Function* func_art_alloc_array_from_code_with_access_check = mod->getFunction("art_alloc_array_from_code_with_access_check");
 if (!func_art_alloc_array_from_code_with_access_check) {
 func_art_alloc_array_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_15,
+ /*Type=*/FuncTy_14,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_alloc_array_from_code_with_access_check", mod); // (external, no body)
 func_art_alloc_array_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -607,7 +587,7 @@
 Function* func_art_check_and_alloc_array_from_code = mod->getFunction("art_check_and_alloc_array_from_code");
 if (!func_art_check_and_alloc_array_from_code) {
 func_art_check_and_alloc_array_from_code = Function::Create(
- /*Type=*/FuncTy_15,
+ /*Type=*/FuncTy_14,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_check_and_alloc_array_from_code", mod); // (external, no body)
 func_art_check_and_alloc_array_from_code->setCallingConv(CallingConv::C);
@@ -618,7 +598,7 @@
 Function* func_art_check_and_alloc_array_from_code_with_access_check = mod->getFunction("art_check_and_alloc_array_from_code_with_access_check");
 if (!func_art_check_and_alloc_array_from_code_with_access_check) {
 func_art_check_and_alloc_array_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_15,
+ /*Type=*/FuncTy_14,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_check_and_alloc_array_from_code_with_access_check", mod); // (external, no body)
 func_art_check_and_alloc_array_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -629,7 +609,7 @@
 Function* func_art_find_instance_field_from_code = mod->getFunction("art_find_instance_field_from_code");
 if (!func_art_find_instance_field_from_code) {
 func_art_find_instance_field_from_code = Function::Create(
- /*Type=*/FuncTy_16,
+ /*Type=*/FuncTy_15,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_instance_field_from_code", mod); // (external, no body)
 func_art_find_instance_field_from_code->setCallingConv(CallingConv::C);
@@ -640,7 +620,7 @@
 Function* func_art_find_static_field_from_code = mod->getFunction("art_find_static_field_from_code");
 if (!func_art_find_static_field_from_code) {
 func_art_find_static_field_from_code = Function::Create(
- /*Type=*/FuncTy_16,
+ /*Type=*/FuncTy_15,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_static_field_from_code", mod); // (external, no body)
 func_art_find_static_field_from_code->setCallingConv(CallingConv::C);
@@ -651,7 +631,7 @@
 Function* func_art_find_static_method_from_code_with_access_check = mod->getFunction("art_find_static_method_from_code_with_access_check");
 if (!func_art_find_static_method_from_code_with_access_check) {
 func_art_find_static_method_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_static_method_from_code_with_access_check", mod); // (external, no body)
 func_art_find_static_method_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -662,7 +642,7 @@
 Function* func_art_find_direct_method_from_code_with_access_check = mod->getFunction("art_find_direct_method_from_code_with_access_check");
 if (!func_art_find_direct_method_from_code_with_access_check) {
 func_art_find_direct_method_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_direct_method_from_code_with_access_check", mod); // (external, no body)
 func_art_find_direct_method_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -673,7 +653,7 @@
 Function* func_art_find_virtual_method_from_code_with_access_check = mod->getFunction("art_find_virtual_method_from_code_with_access_check");
 if (!func_art_find_virtual_method_from_code_with_access_check) {
 func_art_find_virtual_method_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_virtual_method_from_code_with_access_check", mod); // (external, no body)
 func_art_find_virtual_method_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -684,7 +664,7 @@
 Function* func_art_find_super_method_from_code_with_access_check = mod->getFunction("art_find_super_method_from_code_with_access_check");
 if (!func_art_find_super_method_from_code_with_access_check) {
 func_art_find_super_method_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_super_method_from_code_with_access_check", mod); // (external, no body)
 func_art_find_super_method_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -695,7 +675,7 @@
 Function* func_art_find_interface_method_from_code_with_access_check = mod->getFunction("art_find_interface_method_from_code_with_access_check");
 if (!func_art_find_interface_method_from_code_with_access_check) {
 func_art_find_interface_method_from_code_with_access_check = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_interface_method_from_code_with_access_check", mod); // (external, no body)
 func_art_find_interface_method_from_code_with_access_check->setCallingConv(CallingConv::C);
@@ -706,7 +686,7 @@
 Function* func_art_find_interface_method_from_code = mod->getFunction("art_find_interface_method_from_code");
 if (!func_art_find_interface_method_from_code) {
 func_art_find_interface_method_from_code = Function::Create(
- /*Type=*/FuncTy_17,
+ /*Type=*/FuncTy_16,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_find_interface_method_from_code", mod); // (external, no body)
 func_art_find_interface_method_from_code->setCallingConv(CallingConv::C);
@@ -717,7 +697,7 @@
 Function* func_art_initialize_static_storage_from_code = mod->getFunction("art_initialize_static_storage_from_code");
 if (!func_art_initialize_static_storage_from_code) {
 func_art_initialize_static_storage_from_code = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_initialize_static_storage_from_code", mod); // (external, no body)
 func_art_initialize_static_storage_from_code->setCallingConv(CallingConv::C);
@@ -728,7 +708,7 @@
 Function* func_art_initialize_type_from_code = mod->getFunction("art_initialize_type_from_code");
 if (!func_art_initialize_type_from_code) {
 func_art_initialize_type_from_code = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_initialize_type_from_code", mod); // (external, no body)
 func_art_initialize_type_from_code->setCallingConv(CallingConv::C);
@@ -739,7 +719,7 @@
 Function* func_art_initialize_type_and_verify_access_from_code = mod->getFunction("art_initialize_type_and_verify_access_from_code");
 if (!func_art_initialize_type_and_verify_access_from_code) {
 func_art_initialize_type_and_verify_access_from_code = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_initialize_type_and_verify_access_from_code", mod); // (external, no body)
 func_art_initialize_type_and_verify_access_from_code->setCallingConv(CallingConv::C);
@@ -750,7 +730,7 @@
 Function* func_art_resolve_string_from_code = mod->getFunction("art_resolve_string_from_code");
 if (!func_art_resolve_string_from_code) {
 func_art_resolve_string_from_code = Function::Create(
- /*Type=*/FuncTy_18,
+ /*Type=*/FuncTy_17,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_resolve_string_from_code", mod); // (external, no body)
 func_art_resolve_string_from_code->setCallingConv(CallingConv::C);
@@ -761,7 +741,7 @@
 Function* func_art_set32_static_from_code = mod->getFunction("art_set32_static_from_code");
 if (!func_art_set32_static_from_code) {
 func_art_set32_static_from_code = Function::Create(
- /*Type=*/FuncTy_19,
+ /*Type=*/FuncTy_18,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set32_static_from_code", mod); // (external, no body)
 func_art_set32_static_from_code->setCallingConv(CallingConv::C);
@@ -772,7 +752,7 @@
 Function* func_art_set64_static_from_code = mod->getFunction("art_set64_static_from_code");
 if (!func_art_set64_static_from_code) {
 func_art_set64_static_from_code = Function::Create(
- /*Type=*/FuncTy_20,
+ /*Type=*/FuncTy_19,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set64_static_from_code", mod); // (external, no body)
 func_art_set64_static_from_code->setCallingConv(CallingConv::C);
@@ -783,7 +763,7 @@
 Function* func_art_set_obj_static_from_code = mod->getFunction("art_set_obj_static_from_code");
 if (!func_art_set_obj_static_from_code) {
 func_art_set_obj_static_from_code = Function::Create(
- /*Type=*/FuncTy_21,
+ /*Type=*/FuncTy_20,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set_obj_static_from_code", mod); // (external, no body)
 func_art_set_obj_static_from_code->setCallingConv(CallingConv::C);
@@ -794,7 +774,7 @@
 Function* func_art_get32_static_from_code = mod->getFunction("art_get32_static_from_code");
 if (!func_art_get32_static_from_code) {
 func_art_get32_static_from_code = Function::Create(
- /*Type=*/FuncTy_22,
+ /*Type=*/FuncTy_21,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get32_static_from_code", mod); // (external, no body)
 func_art_get32_static_from_code->setCallingConv(CallingConv::C);
@@ -805,7 +785,7 @@
 Function* func_art_get64_static_from_code = mod->getFunction("art_get64_static_from_code");
 if (!func_art_get64_static_from_code) {
 func_art_get64_static_from_code = Function::Create(
- /*Type=*/FuncTy_23,
+ /*Type=*/FuncTy_22,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get64_static_from_code", mod); // (external, no body)
 func_art_get64_static_from_code->setCallingConv(CallingConv::C);
@@ -816,7 +796,7 @@
 Function* func_art_get_obj_static_from_code = mod->getFunction("art_get_obj_static_from_code");
 if (!func_art_get_obj_static_from_code) {
 func_art_get_obj_static_from_code = Function::Create(
- /*Type=*/FuncTy_24,
+ /*Type=*/FuncTy_23,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get_obj_static_from_code", mod); // (external, no body)
 func_art_get_obj_static_from_code->setCallingConv(CallingConv::C);
@@ -827,7 +807,7 @@
 Function* func_art_set32_instance_from_code = mod->getFunction("art_set32_instance_from_code");
 if (!func_art_set32_instance_from_code) {
 func_art_set32_instance_from_code = Function::Create(
- /*Type=*/FuncTy_25,
+ /*Type=*/FuncTy_24,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set32_instance_from_code", mod); // (external, no body)
 func_art_set32_instance_from_code->setCallingConv(CallingConv::C);
@@ -838,7 +818,7 @@
 Function* func_art_set64_instance_from_code = mod->getFunction("art_set64_instance_from_code");
 if (!func_art_set64_instance_from_code) {
 func_art_set64_instance_from_code = Function::Create(
- /*Type=*/FuncTy_26,
+ /*Type=*/FuncTy_25,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set64_instance_from_code", mod); // (external, no body)
 func_art_set64_instance_from_code->setCallingConv(CallingConv::C);
@@ -849,7 +829,7 @@
 Function* func_art_set_obj_instance_from_code = mod->getFunction("art_set_obj_instance_from_code");
 if (!func_art_set_obj_instance_from_code) {
 func_art_set_obj_instance_from_code = Function::Create(
- /*Type=*/FuncTy_27,
+ /*Type=*/FuncTy_26,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_set_obj_instance_from_code", mod); // (external, no body)
 func_art_set_obj_instance_from_code->setCallingConv(CallingConv::C);
@@ -860,7 +840,7 @@
 Function* func_art_get32_instance_from_code = mod->getFunction("art_get32_instance_from_code");
 if (!func_art_get32_instance_from_code) {
 func_art_get32_instance_from_code = Function::Create(
- /*Type=*/FuncTy_21,
+ /*Type=*/FuncTy_20,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get32_instance_from_code", mod); // (external, no body)
 func_art_get32_instance_from_code->setCallingConv(CallingConv::C);
@@ -871,7 +851,7 @@
 Function* func_art_get64_instance_from_code = mod->getFunction("art_get64_instance_from_code");
 if (!func_art_get64_instance_from_code) {
 func_art_get64_instance_from_code = Function::Create(
- /*Type=*/FuncTy_28,
+ /*Type=*/FuncTy_27,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get64_instance_from_code", mod); // (external, no body)
 func_art_get64_instance_from_code->setCallingConv(CallingConv::C);
@@ -882,7 +862,7 @@
 Function* func_art_get_obj_instance_from_code = mod->getFunction("art_get_obj_instance_from_code");
 if (!func_art_get_obj_instance_from_code) {
 func_art_get_obj_instance_from_code = Function::Create(
- /*Type=*/FuncTy_14,
+ /*Type=*/FuncTy_13,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_get_obj_instance_from_code", mod); // (external, no body)
 func_art_get_obj_instance_from_code->setCallingConv(CallingConv::C);
@@ -893,7 +873,7 @@
 Function* func_art_decode_jobject_in_thread = mod->getFunction("art_decode_jobject_in_thread");
 if (!func_art_decode_jobject_in_thread) {
 func_art_decode_jobject_in_thread = Function::Create(
- /*Type=*/FuncTy_29,
+ /*Type=*/FuncTy_28,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_decode_jobject_in_thread", mod); // (external, no body)
 func_art_decode_jobject_in_thread->setCallingConv(CallingConv::C);
@@ -904,7 +884,7 @@
 Function* func_art_fill_array_data_from_code = mod->getFunction("art_fill_array_data_from_code");
 if (!func_art_fill_array_data_from_code) {
 func_art_fill_array_data_from_code = Function::Create(
- /*Type=*/FuncTy_30,
+ /*Type=*/FuncTy_29,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_fill_array_data_from_code", mod); // (external, no body)
 func_art_fill_array_data_from_code->setCallingConv(CallingConv::C);
@@ -915,7 +895,7 @@
 Function* func_art_is_assignable_from_code = mod->getFunction("art_is_assignable_from_code");
 if (!func_art_is_assignable_from_code) {
 func_art_is_assignable_from_code = Function::Create(
- /*Type=*/FuncTy_31,
+ /*Type=*/FuncTy_30,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_is_assignable_from_code", mod); // (external, no body)
 func_art_is_assignable_from_code->setCallingConv(CallingConv::C);
@@ -948,7 +928,7 @@
 Function* func_art_d2l = mod->getFunction("art_d2l");
 if (!func_art_d2l) {
 func_art_d2l = Function::Create(
- /*Type=*/FuncTy_32,
+ /*Type=*/FuncTy_31,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_d2l", mod); // (external, no body)
 func_art_d2l->setCallingConv(CallingConv::C);
@@ -959,7 +939,7 @@
 Function* func_art_d2i = mod->getFunction("art_d2i");
 if (!func_art_d2i) {
 func_art_d2i = Function::Create(
- /*Type=*/FuncTy_33,
+ /*Type=*/FuncTy_32,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_d2i", mod); // (external, no body)
 func_art_d2i->setCallingConv(CallingConv::C);
@@ -970,7 +950,7 @@
 Function* func_art_f2l = mod->getFunction("art_f2l");
 if (!func_art_f2l) {
 func_art_f2l = Function::Create(
- /*Type=*/FuncTy_34,
+ /*Type=*/FuncTy_33,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_f2l", mod); // (external, no body)
 func_art_f2l->setCallingConv(CallingConv::C);
@@ -981,7 +961,7 @@
 Function* func_art_f2i = mod->getFunction("art_f2i");
 if (!func_art_f2i) {
 func_art_f2i = Function::Create(
- /*Type=*/FuncTy_35,
+ /*Type=*/FuncTy_34,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_f2i", mod); // (external, no body)
 func_art_f2i->setCallingConv(CallingConv::C);
@@ -992,7 +972,7 @@
 Function* func_art_jni_method_start = mod->getFunction("art_jni_method_start");
 if (!func_art_jni_method_start) {
 func_art_jni_method_start = Function::Create(
- /*Type=*/FuncTy_36,
+ /*Type=*/FuncTy_35,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_start", mod); // (external, no body)
 func_art_jni_method_start->setCallingConv(CallingConv::C);
@@ -1003,7 +983,7 @@
 Function* func_art_jni_method_start_synchronized = mod->getFunction("art_jni_method_start_synchronized");
 if (!func_art_jni_method_start_synchronized) {
 func_art_jni_method_start_synchronized = Function::Create(
- /*Type=*/FuncTy_31,
+ /*Type=*/FuncTy_30,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_start_synchronized", mod); // (external, no body)
 func_art_jni_method_start_synchronized->setCallingConv(CallingConv::C);
@@ -1014,7 +994,7 @@
 Function* func_art_jni_method_end = mod->getFunction("art_jni_method_end");
 if (!func_art_jni_method_end) {
 func_art_jni_method_end = Function::Create(
- /*Type=*/FuncTy_16,
+ /*Type=*/FuncTy_15,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_end", mod); // (external, no body)
 func_art_jni_method_end->setCallingConv(CallingConv::C);
@@ -1025,7 +1005,7 @@
 Function* func_art_jni_method_end_synchronized = mod->getFunction("art_jni_method_end_synchronized");
 if (!func_art_jni_method_end_synchronized) {
 func_art_jni_method_end_synchronized = Function::Create(
- /*Type=*/FuncTy_37,
+ /*Type=*/FuncTy_36,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_end_synchronized", mod); // (external, no body)
 func_art_jni_method_end_synchronized->setCallingConv(CallingConv::C);
@@ -1036,7 +1016,7 @@
 Function* func_art_jni_method_end_with_reference = mod->getFunction("art_jni_method_end_with_reference");
 if (!func_art_jni_method_end_with_reference) {
 func_art_jni_method_end_with_reference = Function::Create(
- /*Type=*/FuncTy_38,
+ /*Type=*/FuncTy_37,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_end_with_reference", mod); // (external, no body)
 func_art_jni_method_end_with_reference->setCallingConv(CallingConv::C);
@@ -1047,7 +1027,7 @@
 Function* func_art_jni_method_end_with_reference_synchronized = mod->getFunction("art_jni_method_end_with_reference_synchronized");
 if (!func_art_jni_method_end_with_reference_synchronized) {
 func_art_jni_method_end_with_reference_synchronized = Function::Create(
- /*Type=*/FuncTy_39,
+ /*Type=*/FuncTy_38,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_jni_method_end_with_reference_synchronized", mod); // (external, no body)
 func_art_jni_method_end_with_reference_synchronized->setCallingConv(CallingConv::C);
@@ -1058,7 +1038,7 @@
 Function* func_art_is_exception_pending_from_code = mod->getFunction("art_is_exception_pending_from_code");
 if (!func_art_is_exception_pending_from_code) {
 func_art_is_exception_pending_from_code = Function::Create(
- /*Type=*/FuncTy_40,
+ /*Type=*/FuncTy_39,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_is_exception_pending_from_code", mod); // (external, no body)
 func_art_is_exception_pending_from_code->setCallingConv(CallingConv::C);
@@ -1080,7 +1060,7 @@
 Function* func_art_proxy_invoke_handler_from_code = mod->getFunction("art_proxy_invoke_handler_from_code");
 if (!func_art_proxy_invoke_handler_from_code) {
 func_art_proxy_invoke_handler_from_code = Function::Create(
- /*Type=*/FuncTy_41,
+ /*Type=*/FuncTy_40,
  /*Linkage=*/GlobalValue::ExternalLinkage,
  /*Name=*/"art_proxy_invoke_handler_from_code", mod); // (external, no body)
 func_art_proxy_invoke_handler_from_code->setCallingConv(CallingConv::C);
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 9990b19..4dc3954 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -1165,10 +1165,6 @@
     EmitInsn_IntShiftArithmImmediate(ARGS, kIntArithm_UShr);
     break;
 
-  case Instruction::THROW_VERIFICATION_ERROR:
-    EmitInsn_ThrowVerificationError(ARGS);
-    break;
-
   case Instruction::UNUSED_3E:
   case Instruction::UNUSED_3F:
   case Instruction::UNUSED_40:
@@ -1188,6 +1184,7 @@
   case Instruction::UNUSED_EA:
   case Instruction::UNUSED_EB:
   case Instruction::UNUSED_EC:
+  case Instruction::UNUSED_ED:
   case Instruction::UNUSED_EE:
   case Instruction::UNUSED_EF:
   case Instruction::UNUSED_F0:
@@ -1294,24 +1291,6 @@
 }
 
 
-void MethodCompiler::EmitInsn_ThrowVerificationError(uint32_t dex_pc,
-                                                     const Instruction* insn) {
-
-  DecodedInstruction dec_insn(insn);
-
-  EmitUpdateDexPC(dex_pc);
-
-  llvm::Value* method_object_addr = EmitLoadMethodObjectAddr();
-  llvm::Value* kind_value = irb_.getInt32(dec_insn.vA);
-  llvm::Value* ref_value = irb_.getInt32(dec_insn.vB);
-
-  irb_.CreateCall3(irb_.GetRuntime(ThrowVerificationError),
-                   method_object_addr, kind_value, ref_value);
-
-  EmitBranchExceptionLandingPad(dex_pc);
-}
-
-
 void MethodCompiler::EmitInsn_ReturnVoid(uint32_t dex_pc,
                                          const Instruction* insn) {
   // Pop the shadow frame
@@ -4552,10 +4531,6 @@
       }
       break;
 
-    case Instruction::THROW_VERIFICATION_ERROR:
-      may_throw_exception = true;
-      break;
-
     case Instruction::UNUSED_3E:
     case Instruction::UNUSED_3F:
     case Instruction::UNUSED_40:
@@ -4575,6 +4550,7 @@
     case Instruction::UNUSED_EA:
     case Instruction::UNUSED_EB:
     case Instruction::UNUSED_EC:
+    case Instruction::UNUSED_ED:
     case Instruction::UNUSED_EE:
     case Instruction::UNUSED_EF:
     case Instruction::UNUSED_F0:
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index 9b207c3..d54be6b 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -147,7 +147,6 @@
   // MOVE_EXCEPTION, THROW instructions
   void EmitInsn_MoveException(GEN_INSN_ARGS);
   void EmitInsn_ThrowException(GEN_INSN_ARGS);
-  void EmitInsn_ThrowVerificationError(GEN_INSN_ARGS);
 
   // RETURN instructions
   void EmitInsn_ReturnVoid(GEN_INSN_ARGS);
diff --git a/src/compiler_llvm/runtime_support_func_list.h b/src/compiler_llvm/runtime_support_func_list.h
index 236e02b..5b94edc 100644
--- a/src/compiler_llvm/runtime_support_func_list.h
+++ b/src/compiler_llvm/runtime_support_func_list.h
@@ -27,7 +27,6 @@
   V(ThrowNullPointerException, art_throw_null_pointer_exception_from_code) \
   V(ThrowDivZeroException, art_throw_div_zero_from_code) \
   V(ThrowIndexOutOfBounds, art_throw_array_bounds_from_code) \
-  V(ThrowVerificationError, art_throw_verification_error_from_code) \
   V(InitializeTypeAndVerifyAccess, art_initialize_type_and_verify_access_from_code) \
   V(InitializeType, art_initialize_type_from_code) \
   V(IsAssignable, art_is_assignable_from_code) \
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index 3854b4c..a6fa80d 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -171,13 +171,6 @@
   }
 }
 
-void art_throw_verification_error_from_code(Method* current_method,
-                                            int32_t kind,
-                                            int32_t ref)
-    SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_) {
-  ThrowVerificationError(art_get_current_thread_from_code(), current_method, kind, ref);
-}
-
 int32_t art_find_catch_block_from_code(Method* current_method,
                                        uint32_t ti_offset)
     SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_) {
diff --git a/src/dex_instruction.cc b/src/dex_instruction.cc
index b713f7e..aa1a5fe 100644
--- a/src/dex_instruction.cc
+++ b/src/dex_instruction.cc
@@ -94,7 +94,6 @@
     case k20t:       // op +AAAA
       vA = (int16_t) FETCH(1);                   // sign-extend 16-bit value
       break;
-    case k20bc:      // op AA, kind@BBBB
     case k21c:       // op vAA, thing@BBBB
     case k22x:       // op vAA, vBBBB
       vA = INST_AA(insn);
@@ -226,7 +225,6 @@
       case k11x:
       case k10t:
         return 1;
-      case k20bc:
       case k20t:
       case k22x:
       case k21t:
@@ -294,7 +292,6 @@
     case k11n:  os << StringPrintf("%s v%d, #%+d", opcode, insn.vA, insn.vB); break;
     case k11x:  os << StringPrintf("%s v%d", opcode, insn.vA); break;
     case k10t:  os << StringPrintf("%s %+d", opcode, insn.vA); break;
-    case k20bc: os << StringPrintf("%s %d, kind@%d", opcode, insn.vA, insn.vB); break;
     case k20t:  os << StringPrintf("%s %+d", opcode, insn.vA); break;
     case k22x:  os << StringPrintf("%s v%d, v%d", opcode, insn.vA, insn.vB); break;
     case k21t:  os << StringPrintf("%s v%d, %+d", opcode, insn.vA, insn.vB); break;
diff --git a/src/dex_instruction.h b/src/dex_instruction.h
index 442ea79..91aa042 100644
--- a/src/dex_instruction.h
+++ b/src/dex_instruction.h
@@ -88,7 +88,6 @@
     k11n,  // op vA, #+B
     k11x,  // op vAA
     k10t,  // op +AA
-    k20bc, // op AA, kind@BBBB
     k20t,  // op +AAAA
     k22x,  // op vAA, vBBBB
     k21t,  // op vAA, +BBBB
diff --git a/src/dex_instruction_list.h b/src/dex_instruction_list.h
index e4fc5fd..3083d22 100644
--- a/src/dex_instruction_list.h
+++ b/src/dex_instruction_list.h
@@ -252,7 +252,7 @@
   V(0xEA, UNUSED_EA, "unused-ea", k10x, false, kUnknown, 0, kVerifyError) \
   V(0xEB, UNUSED_EB, "unused-eb", k10x, false, kUnknown, 0, kVerifyError) \
   V(0xEC, UNUSED_EC, "unused-ec", k10x, false, kUnknown, 0, kVerifyError) \
-  V(0xED, THROW_VERIFICATION_ERROR, "throw-verification-error", k20bc, false, kNone, kThrow, kVerifyNone) \
+  V(0xED, UNUSED_ED, "unused-ed", k10x, false, kUnknown, 0, kVerifyError) \
   V(0xEE, UNUSED_EE, "unused-ee", k10x, false, kUnknown, 0, kVerifyError) \
   V(0xEF, UNUSED_EF, "unused-ef", k10x, false, kUnknown, 0, kVerifyError) \
   V(0xF0, UNUSED_F0, "unused-f0", k10x, false, kUnknown, 0, kVerifyError) \
@@ -278,7 +278,6 @@
   V(k11n) \
   V(k11x) \
   V(k10t) \
-  V(k20bc) \
   V(k20t) \
   V(k22x) \
   V(k21t) \
diff --git a/src/greenland/dex_lang.cc b/src/greenland/dex_lang.cc
index 18ce4b4..135cbd7 100644
--- a/src/greenland/dex_lang.cc
+++ b/src/greenland/dex_lang.cc
@@ -2778,9 +2778,6 @@
       //EmitInsn_IntShiftArithmImmediate(ARGS, kIntArithm_UShr);
       break;
 
-    case Instruction::THROW_VERIFICATION_ERROR:
-      //EmitInsn_ThrowVerificationError(ARGS);
-      break;
     case Instruction::UNUSED_3E:
     case Instruction::UNUSED_3F:
     case Instruction::UNUSED_40:
@@ -2800,6 +2797,7 @@
     case Instruction::UNUSED_EA:
     case Instruction::UNUSED_EB:
     case Instruction::UNUSED_EC:
+    case Instruction::UNUSED_ED:
     case Instruction::UNUSED_EE:
     case Instruction::UNUSED_EF:
     case Instruction::UNUSED_F0:
diff --git a/src/greenland/dex_lang.h b/src/greenland/dex_lang.h
index 27b50dd..ce4b462 100644
--- a/src/greenland/dex_lang.h
+++ b/src/greenland/dex_lang.h
@@ -356,7 +356,6 @@
   void EmitInsn_MoveException(GEN_INSN_ARGS);
 #if 0
   void EmitInsn_ThrowException(GEN_INSN_ARGS);
-  void EmitInsn_ThrowVerificationError(GEN_INSN_ARGS);
 
   // RETURN instructions
 #endif
diff --git a/src/greenland/intrinsic_func_list.def b/src/greenland/intrinsic_func_list.def
index 064fafc..3f3fae1 100644
--- a/src/greenland/intrinsic_func_list.def
+++ b/src/greenland/intrinsic_func_list.def
@@ -127,13 +127,6 @@
                           kVoidTy,
                           _EXPAND_ARG1(kJavaObjectTy))
 
-// void dex_lang_throw_verification_error(int info1, int info2)
-_EVAL_DEF_INTRINSICS_FUNC(ThrowVerificationError,
-                          dex_lang_throw_verification_error,
-                          kAttrNoThrow,
-                          kVoidTy,
-                          _EXPAND_ARG2(kInt32Ty, kInt32Ty))
-
 //----------------------------------------------------------------------------
 // ConstString
 //----------------------------------------------------------------------------
diff --git a/src/oat/runtime/arm/oat_support_entrypoints_arm.cc b/src/oat/runtime/arm/oat_support_entrypoints_arm.cc
index 1aa069e..305f359 100644
--- a/src/oat/runtime/arm/oat_support_entrypoints_arm.cc
+++ b/src/oat/runtime/arm/oat_support_entrypoints_arm.cc
@@ -143,7 +143,6 @@
 extern "C" void art_throw_no_such_method_from_code(int32_t method_idx);
 extern "C" void art_throw_null_pointer_exception_from_code();
 extern "C" void art_throw_stack_overflow_from_code(void*);
-extern "C" void art_throw_verification_error_from_code(int32_t src1, int32_t ref);
 
 // Trace entrypoints.
 extern "C" void art_trace_entry_from_code(void*);
@@ -263,7 +262,6 @@
   points->pThrowNoSuchMethodFromCode = art_throw_no_such_method_from_code;
   points->pThrowNullPointerFromCode = art_throw_null_pointer_exception_from_code;
   points->pThrowStackOverflowFromCode = art_throw_stack_overflow_from_code;
-  points->pThrowVerificationErrorFromCode = art_throw_verification_error_from_code;
 };
 
 void ChangeDebuggerEntryPoint(EntryPoints* points, bool enabled) {
diff --git a/src/oat/runtime/arm/runtime_support_arm.S b/src/oat/runtime/arm/runtime_support_arm.S
index 1978a73..5b4cd1b 100644
--- a/src/oat/runtime/arm/runtime_support_arm.S
+++ b/src/oat/runtime/arm/runtime_support_arm.S
@@ -149,11 +149,6 @@
 ONE_ARG_RUNTIME_EXCEPTION art_throw_no_such_method_from_code, artThrowNoSuchMethodFromCode
 
     /*
-     * Called by managed code to create and deliver verification errors. Arg1 is kind, arg2 is ref.
-     */
-TWO_ARG_RUNTIME_EXCEPTION art_throw_verification_error_from_code, artThrowVerificationErrorFromCode
-
-    /*
      * All generated callsites for interface invokes and invocation slow paths will load arguments
      * as usual - except instead of loading arg0/r0 with the target Method*, arg0/r0 will contain
      * the method_idx.  This wrapper will save arg1-arg3, load the caller's Method*, align the
diff --git a/src/oat/runtime/mips/oat_support_entrypoints_mips.cc b/src/oat/runtime/mips/oat_support_entrypoints_mips.cc
index f9188cc..71ea0ef 100644
--- a/src/oat/runtime/mips/oat_support_entrypoints_mips.cc
+++ b/src/oat/runtime/mips/oat_support_entrypoints_mips.cc
@@ -142,7 +142,6 @@
 extern "C" void art_throw_no_such_method_from_code(int32_t method_idx);
 extern "C" void art_throw_null_pointer_exception_from_code();
 extern "C" void art_throw_stack_overflow_from_code(void*);
-extern "C" void art_throw_verification_error_from_code(int32_t src1, int32_t ref);
 
 // Trace entrypoints.
 extern "C" void art_trace_entry_from_code(void*);
@@ -262,7 +261,6 @@
   points->pThrowNoSuchMethodFromCode = art_throw_no_such_method_from_code;
   points->pThrowNullPointerFromCode = art_throw_null_pointer_exception_from_code;
   points->pThrowStackOverflowFromCode = art_throw_stack_overflow_from_code;
-  points->pThrowVerificationErrorFromCode = art_throw_verification_error_from_code;
 };
 
 void ChangeDebuggerEntryPoint(EntryPoints* points, bool enabled) {
diff --git a/src/oat/runtime/mips/runtime_support_mips.S b/src/oat/runtime/mips/runtime_support_mips.S
index 3ffe059..ec9d269 100644
--- a/src/oat/runtime/mips/runtime_support_mips.S
+++ b/src/oat/runtime/mips/runtime_support_mips.S
@@ -313,18 +313,6 @@
     jal artThrowNoSuchMethodFromCode      # artThrowNoSuchMethodFromCode(method_idx, Thread*, $sp)
     move $a2, $sp                         # pass $sp
 
-    .global art_throw_verification_error_from_code
-    .extern artThrowVerificationErrorFromCode
-    /*
-     * Called by managed code to create and deliver verification errors.
-     */
-    ALIGN_FUNCTION_ENTRY
-art_throw_verification_error_from_code:
-    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME
-    move $a2, rSELF                           # pass Thread::Current
-    jal artThrowVerificationErrorFromCode     # artThrowVerificationErrorFromCode(kind, ref, Thread*, $sp)
-    move $a3, $sp                             # pass $sp
-
     /*
      * All generated callsites for interface invokes and invocation slow paths will load arguments
      * as usual - except instead of loading arg0/$a0 with the target Method*, arg0/$a0 will contain
diff --git a/src/oat/runtime/oat_support_entrypoints.h b/src/oat/runtime/oat_support_entrypoints.h
index 39d9eab..a504778 100644
--- a/src/oat/runtime/oat_support_entrypoints.h
+++ b/src/oat/runtime/oat_support_entrypoints.h
@@ -146,7 +146,6 @@
   void (*pThrowNoSuchMethodFromCode)(int32_t);
   void (*pThrowNullPointerFromCode)();
   void (*pThrowStackOverflowFromCode)(void*);
-  void (*pThrowVerificationErrorFromCode)(int32_t, int32_t);
 };
 
 // Initialize an entry point data structure.
diff --git a/src/oat/runtime/support_throw.cc b/src/oat/runtime/support_throw.cc
index 4fa2387..9776290 100644
--- a/src/oat/runtime/support_throw.cc
+++ b/src/oat/runtime/support_throw.cc
@@ -98,13 +98,4 @@
   self->DeliverException();
 }
 
-extern "C" void artThrowVerificationErrorFromCode(int32_t kind, int32_t ref, Thread* self,
-                                                  Method** sp)
-    SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_) {
-  FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll);
-  Method* method = self->GetCurrentMethod();
-  ThrowVerificationError(self, method, kind, ref);
-  self->DeliverException();
-}
-
 }  // namespace art
diff --git a/src/oat/runtime/x86/oat_support_entrypoints_x86.cc b/src/oat/runtime/x86/oat_support_entrypoints_x86.cc
index e52569d..9ff4a07 100644
--- a/src/oat/runtime/x86/oat_support_entrypoints_x86.cc
+++ b/src/oat/runtime/x86/oat_support_entrypoints_x86.cc
@@ -118,7 +118,6 @@
 extern "C" void art_throw_no_such_method_from_code(int32_t method_idx);
 extern "C" void art_throw_null_pointer_exception_from_code();
 extern "C" void art_throw_stack_overflow_from_code(void*);
-extern "C" void art_throw_verification_error_from_code(int32_t src1, int32_t ref);
 
 void InitEntryPoints(EntryPoints* points) {
   // Alloc
@@ -234,7 +233,6 @@
   points->pThrowNoSuchMethodFromCode = art_throw_no_such_method_from_code;
   points->pThrowNullPointerFromCode = art_throw_null_pointer_exception_from_code;
   points->pThrowStackOverflowFromCode = art_throw_stack_overflow_from_code;
-  points->pThrowVerificationErrorFromCode = art_throw_verification_error_from_code;
 };
 
 void ChangeDebuggerEntryPoint(EntryPoints*, bool) {
diff --git a/src/oat/runtime/x86/runtime_support_x86.S b/src/oat/runtime/x86/runtime_support_x86.S
index 45caaae..fd0e10d 100644
--- a/src/oat/runtime/x86/runtime_support_x86.S
+++ b/src/oat/runtime/x86/runtime_support_x86.S
@@ -205,11 +205,6 @@
 TWO_ARG_RUNTIME_EXCEPTION art_throw_array_bounds_from_code, artThrowArrayBoundsFromCode
 
     /*
-     * Called by managed code to create and deliver verification errors. Arg1 is kind, arg2 is ref.
-     */
-TWO_ARG_RUNTIME_EXCEPTION art_throw_verification_error_from_code, artThrowVerificationErrorFromCode
-
-    /*
      * All generated callsites for interface invokes and invocation slow paths will load arguments
      * as usual - except instead of loading arg0/r0 with the target Method*, arg0/r0 will contain
      * the method_idx.  This wrapper will save arg1-arg3, load the caller's Method*, align the
diff --git a/src/runtime_support.cc b/src/runtime_support.cc
index 572da97..16406c4 100644
--- a/src/runtime_support.cc
+++ b/src/runtime_support.cc
@@ -342,88 +342,6 @@
   return result;
 }
 
-static std::string ClassNameFromIndex(const Method* method, uint32_t ref,
-                                      verifier::VerifyErrorRefType ref_type, bool access)
-    SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_) {
-  ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
-  const DexFile& dex_file = class_linker->FindDexFile(method->GetDeclaringClass()->GetDexCache());
-
-  uint16_t type_idx = 0;
-  if (ref_type == verifier::VERIFY_ERROR_REF_FIELD) {
-    const DexFile::FieldId& id = dex_file.GetFieldId(ref);
-    type_idx = id.class_idx_;
-  } else if (ref_type == verifier::VERIFY_ERROR_REF_METHOD) {
-    const DexFile::MethodId& id = dex_file.GetMethodId(ref);
-    type_idx = id.class_idx_;
-  } else if (ref_type == verifier::VERIFY_ERROR_REF_CLASS) {
-    type_idx = ref;
-  } else {
-    CHECK(false) << static_cast<int>(ref_type);
-  }
-
-  std::string class_name(PrettyDescriptor(dex_file.StringByTypeIdx(type_idx)));
-  if (!access) {
-    return class_name;
-  }
-
-  std::string result;
-  result += "tried to access class ";
-  result += class_name;
-  result += " from class ";
-  result += PrettyDescriptor(method->GetDeclaringClass());
-  return result;
-}
-
-void ThrowVerificationError(Thread* self, const Method* method,
-                            int32_t kind, int32_t ref) {
-  verifier::VerifyErrorRefType ref_type =
-      static_cast<verifier::VerifyErrorRefType>(kind >> verifier::kVerifyErrorRefTypeShift);
-
-  const char* exception_class = "Ljava/lang/VerifyError;";
-  std::string msg;
-
-  switch (static_cast<verifier::VerifyError>(kind & ~(0xff << verifier::kVerifyErrorRefTypeShift))) {
-  case verifier::VERIFY_ERROR_NO_CLASS:
-    exception_class = "Ljava/lang/NoClassDefFoundError;";
-    msg = ClassNameFromIndex(method, ref, ref_type, false);
-    break;
-  case verifier::VERIFY_ERROR_NO_FIELD:
-    exception_class = "Ljava/lang/NoSuchFieldError;";
-    msg = FieldNameFromIndex(method, ref, ref_type, false);
-    break;
-  case verifier::VERIFY_ERROR_NO_METHOD:
-    exception_class = "Ljava/lang/NoSuchMethodError;";
-    msg = MethodNameFromIndex(method, ref, ref_type, false);
-    break;
-  case verifier::VERIFY_ERROR_ACCESS_CLASS:
-    exception_class = "Ljava/lang/IllegalAccessError;";
-    msg = ClassNameFromIndex(method, ref, ref_type, true);
-    break;
-  case verifier::VERIFY_ERROR_ACCESS_FIELD:
-    exception_class = "Ljava/lang/IllegalAccessError;";
-    msg = FieldNameFromIndex(method, ref, ref_type, true);
-    break;
-  case verifier::VERIFY_ERROR_ACCESS_METHOD:
-    exception_class = "Ljava/lang/IllegalAccessError;";
-    msg = MethodNameFromIndex(method, ref, ref_type, true);
-    break;
-  case verifier::VERIFY_ERROR_CLASS_CHANGE:
-    exception_class = "Ljava/lang/IncompatibleClassChangeError;";
-    msg = ClassNameFromIndex(method, ref, ref_type, false);
-    break;
-  case verifier::VERIFY_ERROR_INSTANTIATION:
-    exception_class = "Ljava/lang/InstantiationError;";
-    msg = ClassNameFromIndex(method, ref, ref_type, false);
-    break;
-  case verifier::VERIFY_ERROR_BAD_CLASS_SOFT:
-  case verifier::VERIFY_ERROR_BAD_CLASS_HARD:
-    // Generic VerifyError; use default exception, no message.
-    break;
-  }
-
-  self->ThrowNewException(exception_class, msg.c_str());
-}
-
 // Helper function to allocate array for FILLED_NEW_ARRAY.
 Array* CheckAndAllocArrayFromCode(uint32_t type_idx, Method* method, int32_t component_count,
                                   Thread* self, bool access_check) {
diff --git a/src/runtime_support.h b/src/runtime_support.h
index c6bf0c8..2956ea7 100644
--- a/src/runtime_support.h
+++ b/src/runtime_support.h
@@ -76,8 +76,6 @@
     SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_);
 void ThrowNullPointerExceptionFromDexPC(Thread* self, Method* caller, uint32_t dex_pc)
     SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_);
-void ThrowVerificationError(Thread* self, const Method* method, int32_t kind, int32_t ref)
-    SHARED_LOCKS_REQUIRED(GlobalSynchronization::mutator_lock_);
 
 std::string FieldNameFromIndex(const Method* method, uint32_t ref,
                                verifier::VerifyErrorRefType ref_type, bool access)
diff --git a/src/thread.cc b/src/thread.cc
index 8974023..dfab7cd 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -1476,7 +1476,6 @@
   ENTRY_POINT_INFO(pThrowNoSuchMethodFromCode),
   ENTRY_POINT_INFO(pThrowNullPointerFromCode),
   ENTRY_POINT_INFO(pThrowStackOverflowFromCode),
-  ENTRY_POINT_INFO(pThrowVerificationErrorFromCode),
 };
 #undef ENTRY_POINT_INFO
 
diff --git a/src/verifier/method_verifier.cc b/src/verifier/method_verifier.cc
index 070c616..30bee66 100644
--- a/src/verifier/method_verifier.cc
+++ b/src/verifier/method_verifier.cc
@@ -2209,15 +2209,8 @@
       work_line_->CheckLiteralOp(dec_insn, reg_types_.Integer(), reg_types_.Integer(), true);
       break;
 
-    /*
-     * This falls into the general category of "optimized" instructions,
-     * which don't generally appear during verification. Because it's
-     * inserted in the course of verification, we can expect to see it here.
-     */
-    case Instruction::THROW_VERIFICATION_ERROR:
-      break;
-
     /* These should never appear during verification. */
+    case Instruction::UNUSED_ED:
     case Instruction::UNUSED_EE:
     case Instruction::UNUSED_EF:
     case Instruction::UNUSED_F2: