• Home
  • Raw
  • Download

Lines Matching refs:Instruction

253   bool VerifyInstruction(const Instruction* inst, uint32_t code_offset);
327 …bool CheckSignaturePolymorphicReceiver(const Instruction* inst) REQUIRES_SHARED(Locks::mutator_loc…
402 void VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range)
413 void VerifyAGet(const Instruction* inst, const RegType& insn_type,
417 void VerifyAPut(const Instruction* inst, const RegType& insn_type,
429 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type,
477 ArtMethod* VerifyInvocationArgs(const Instruction* inst, MethodType method_type, bool is_range)
482 void VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type,
487 ArtMethod* VerifyInvocationArgsFromIterator(T* it, const Instruction* inst,
503 if ((insns[insn_idx] & 0xff) == Instruction::MOVE_EXCEPTION) { in CheckNotMoveException()
517 if (((insns[insn_idx] & 0xff) >= Instruction::MOVE_RESULT) && in CheckNotMoveResult()
518 ((insns[insn_idx] & 0xff) <= Instruction::MOVE_RESULT_OBJECT)) { in CheckNotMoveResult()
572 uint16_t GetMethodIdxOfInvoke(const Instruction* inst)
575 uint16_t GetFieldIdxOfFieldAccess(const Instruction* inst, bool is_static)
729 if (inst->Opcode() == Instruction::MONITOR_ENTER) { in FindLocksAtDexPc()
939 Instruction::Code opcode = it->Opcode(); in ComputeWidthsAndCountOps()
941 case Instruction::APUT_OBJECT: in ComputeWidthsAndCountOps()
942 case Instruction::CHECK_CAST: in ComputeWidthsAndCountOps()
1056 bool MethodVerifier<kVerifierDebug>::VerifyInstruction(const Instruction* inst, in VerifyInstruction()
1058 if (Instruction::kHaveExperimentalInstructions && UNLIKELY(inst->IsExperimental())) { in VerifyInstruction()
1071 case Instruction::kVerifyRegA: in VerifyInstruction()
1074 case Instruction::kVerifyRegAWide: in VerifyInstruction()
1079 case Instruction::kVerifyRegB: in VerifyInstruction()
1082 case Instruction::kVerifyRegBField: in VerifyInstruction()
1085 case Instruction::kVerifyRegBMethod: in VerifyInstruction()
1088 case Instruction::kVerifyRegBNewInstance: in VerifyInstruction()
1091 case Instruction::kVerifyRegBString: in VerifyInstruction()
1094 case Instruction::kVerifyRegBType: in VerifyInstruction()
1097 case Instruction::kVerifyRegBWide: in VerifyInstruction()
1100 case Instruction::kVerifyRegBCallSite: in VerifyInstruction()
1103 case Instruction::kVerifyRegBMethodHandle: in VerifyInstruction()
1106 case Instruction::kVerifyRegBPrototype: in VerifyInstruction()
1111 case Instruction::kVerifyRegC: in VerifyInstruction()
1114 case Instruction::kVerifyRegCField: in VerifyInstruction()
1117 case Instruction::kVerifyRegCNewArray: in VerifyInstruction()
1120 case Instruction::kVerifyRegCType: in VerifyInstruction()
1123 case Instruction::kVerifyRegCWide: in VerifyInstruction()
1128 case Instruction::kVerifyRegHPrototype: in VerifyInstruction()
1133 case Instruction::kVerifyArrayData: in VerifyInstruction()
1136 case Instruction::kVerifyBranchTarget: in VerifyInstruction()
1139 case Instruction::kVerifySwitchTargets: in VerifyInstruction()
1142 case Instruction::kVerifyVarArgNonZero: in VerifyInstruction()
1144 case Instruction::kVerifyVarArg: { in VerifyInstruction()
1147 if ((inst->GetVerifyExtraFlags() == Instruction::kVerifyVarArgNonZero && v_a == 0) || in VerifyInstruction()
1148 v_a > Instruction::kMaxVarArgRegs) { in VerifyInstruction()
1154 uint32_t args[Instruction::kMaxVarArgRegs]; in VerifyInstruction()
1159 case Instruction::kVerifyVarArgRangeNonZero: in VerifyInstruction()
1161 case Instruction::kVerifyVarArgRange: in VerifyInstruction()
1162 if (inst->GetVerifyExtraFlags() == Instruction::kVerifyVarArgRangeNonZero && in VerifyInstruction()
1170 case Instruction::kVerifyError: in VerifyInstruction()
1410 case Instruction::GOTO: in GetBranchOffset()
1413 case Instruction::GOTO_32: in GetBranchOffset()
1417 case Instruction::GOTO_16: in GetBranchOffset()
1420 case Instruction::IF_EQ: in GetBranchOffset()
1421 case Instruction::IF_NE: in GetBranchOffset()
1422 case Instruction::IF_LT: in GetBranchOffset()
1423 case Instruction::IF_GE: in GetBranchOffset()
1424 case Instruction::IF_GT: in GetBranchOffset()
1425 case Instruction::IF_LE: in GetBranchOffset()
1426 case Instruction::IF_EQZ: in GetBranchOffset()
1427 case Instruction::IF_NEZ: in GetBranchOffset()
1428 case Instruction::IF_LTZ: in GetBranchOffset()
1429 case Instruction::IF_GEZ: in GetBranchOffset()
1430 case Instruction::IF_GTZ: in GetBranchOffset()
1431 case Instruction::IF_LEZ: in GetBranchOffset()
1472 bool is_packed_switch = (*insns & 0xff) == Instruction::PACKED_SWITCH; in CheckSwitchTargets()
1480 expected_signature = Instruction::kPackedSwitchSignature; in CheckSwitchTargets()
1484 expected_signature = Instruction::kSparseSwitchSignature; in CheckSwitchTargets()
1913 if (insns[insn_idx] == Instruction::kPackedSwitchSignature || in CodeFlowVerifyMethod()
1914 insns[insn_idx] == Instruction::kSparseSwitchSignature || in CodeFlowVerifyMethod()
1915 insns[insn_idx] == Instruction::kArrayDataSignature || in CodeFlowVerifyMethod()
1916 (insns[insn_idx] == Instruction::NOP && (insn_idx + 1 < insns_size) && in CodeFlowVerifyMethod()
1917 (insns[insn_idx + 1] == Instruction::kPackedSwitchSignature || in CodeFlowVerifyMethod()
1918 insns[insn_idx + 1] == Instruction::kSparseSwitchSignature || in CodeFlowVerifyMethod()
1919 insns[insn_idx + 1] == Instruction::kArrayDataSignature))) { in CodeFlowVerifyMethod()
1964 const Instruction* ret_inst, in AdjustReturnLine()
1966 Instruction::Code opcode = ret_inst->Opcode(); in AdjustReturnLine()
1969 case Instruction::RETURN_VOID: in AdjustReturnLine()
1970 case Instruction::RETURN_VOID_NO_BARRIER: in AdjustReturnLine()
1978 case Instruction::RETURN: in AdjustReturnLine()
1979 case Instruction::RETURN_OBJECT: in AdjustReturnLine()
1983 case Instruction::RETURN_WIDE: in AdjustReturnLine()
2037 const Instruction* inst = Instruction::At(insns); in CodeFlowVerifyInstruction()
2038 int opcode_flags = Instruction::FlagsOf(inst->Opcode()); in CodeFlowVerifyInstruction()
2055 if ((opcode_flags & Instruction::kThrow) != 0 && CurrentInsnFlags()->IsInTry()) { in CodeFlowVerifyInstruction()
2070 case Instruction::NOP: in CodeFlowVerifyInstruction()
2081 case Instruction::MOVE: in CodeFlowVerifyInstruction()
2084 case Instruction::MOVE_FROM16: in CodeFlowVerifyInstruction()
2087 case Instruction::MOVE_16: in CodeFlowVerifyInstruction()
2090 case Instruction::MOVE_WIDE: in CodeFlowVerifyInstruction()
2093 case Instruction::MOVE_WIDE_FROM16: in CodeFlowVerifyInstruction()
2096 case Instruction::MOVE_WIDE_16: in CodeFlowVerifyInstruction()
2099 case Instruction::MOVE_OBJECT: in CodeFlowVerifyInstruction()
2102 case Instruction::MOVE_OBJECT_FROM16: in CodeFlowVerifyInstruction()
2105 case Instruction::MOVE_OBJECT_16: in CodeFlowVerifyInstruction()
2120 case Instruction::MOVE_RESULT: in CodeFlowVerifyInstruction()
2123 case Instruction::MOVE_RESULT_WIDE: in CodeFlowVerifyInstruction()
2126 case Instruction::MOVE_RESULT_OBJECT: in CodeFlowVerifyInstruction()
2130 case Instruction::MOVE_EXCEPTION: { in CodeFlowVerifyInstruction()
2145 case Instruction::RETURN_VOID: in CodeFlowVerifyInstruction()
2152 case Instruction::RETURN: in CodeFlowVerifyInstruction()
2177 case Instruction::RETURN_WIDE: in CodeFlowVerifyInstruction()
2193 case Instruction::RETURN_OBJECT: in CodeFlowVerifyInstruction()
2244 case Instruction::CONST_4: { in CodeFlowVerifyInstruction()
2250 case Instruction::CONST_16: { in CodeFlowVerifyInstruction()
2256 case Instruction::CONST: { in CodeFlowVerifyInstruction()
2262 case Instruction::CONST_HIGH16: { in CodeFlowVerifyInstruction()
2269 case Instruction::CONST_WIDE_16: { in CodeFlowVerifyInstruction()
2276 case Instruction::CONST_WIDE_32: { in CodeFlowVerifyInstruction()
2283 case Instruction::CONST_WIDE: { in CodeFlowVerifyInstruction()
2290 case Instruction::CONST_WIDE_HIGH16: { in CodeFlowVerifyInstruction()
2297 case Instruction::CONST_STRING: in CodeFlowVerifyInstruction()
2301 case Instruction::CONST_STRING_JUMBO: in CodeFlowVerifyInstruction()
2305 case Instruction::CONST_CLASS: { in CodeFlowVerifyInstruction()
2315 case Instruction::CONST_METHOD_HANDLE: in CodeFlowVerifyInstruction()
2319 case Instruction::CONST_METHOD_TYPE: in CodeFlowVerifyInstruction()
2323 case Instruction::MONITOR_ENTER: in CodeFlowVerifyInstruction()
2332 const Instruction& prev_inst = code_item_accessor_.InstructionAt(prev_idx); in CodeFlowVerifyInstruction()
2334 case Instruction::MOVE_OBJECT: in CodeFlowVerifyInstruction()
2335 case Instruction::MOVE_OBJECT_16: in CodeFlowVerifyInstruction()
2336 case Instruction::MOVE_OBJECT_FROM16: in CodeFlowVerifyInstruction()
2350 case Instruction::CONST_CLASS: { in CodeFlowVerifyInstruction()
2359 const Instruction& prev2_inst = code_item_accessor_.InstructionAt(prev_idx); in CodeFlowVerifyInstruction()
2362 if (prev2_inst.Opcode() != Instruction::CONST_CLASS) { in CodeFlowVerifyInstruction()
2391 case Instruction::MONITOR_EXIT: in CodeFlowVerifyInstruction()
2412 opcode_flags &= ~Instruction::kThrow; in CodeFlowVerifyInstruction()
2415 case Instruction::CHECK_CAST: in CodeFlowVerifyInstruction()
2416 case Instruction::INSTANCE_OF: { in CodeFlowVerifyInstruction()
2424 const bool is_checkcast = (inst->Opcode() == Instruction::CHECK_CAST); in CodeFlowVerifyInstruction()
2480 case Instruction::ARRAY_LENGTH: { in CodeFlowVerifyInstruction()
2496 case Instruction::NEW_INSTANCE: { in CodeFlowVerifyInstruction()
2517 case Instruction::NEW_ARRAY: in CodeFlowVerifyInstruction()
2520 case Instruction::FILLED_NEW_ARRAY: in CodeFlowVerifyInstruction()
2524 case Instruction::FILLED_NEW_ARRAY_RANGE: in CodeFlowVerifyInstruction()
2528 case Instruction::CMPL_FLOAT: in CodeFlowVerifyInstruction()
2529 case Instruction::CMPG_FLOAT: in CodeFlowVerifyInstruction()
2538 case Instruction::CMPL_DOUBLE: in CodeFlowVerifyInstruction()
2539 case Instruction::CMPG_DOUBLE: in CodeFlowVerifyInstruction()
2550 case Instruction::CMP_LONG: in CodeFlowVerifyInstruction()
2561 case Instruction::THROW: { in CodeFlowVerifyInstruction()
2575 case Instruction::GOTO: in CodeFlowVerifyInstruction()
2576 case Instruction::GOTO_16: in CodeFlowVerifyInstruction()
2577 case Instruction::GOTO_32: in CodeFlowVerifyInstruction()
2581 case Instruction::PACKED_SWITCH: in CodeFlowVerifyInstruction()
2582 case Instruction::SPARSE_SWITCH: in CodeFlowVerifyInstruction()
2587 case Instruction::FILL_ARRAY_DATA: { in CodeFlowVerifyInstruction()
2611 if (array_data[0] != Instruction::kArrayDataSignature) { in CodeFlowVerifyInstruction()
2627 case Instruction::IF_EQ: in CodeFlowVerifyInstruction()
2628 case Instruction::IF_NE: { in CodeFlowVerifyInstruction()
2645 case Instruction::IF_LT: in CodeFlowVerifyInstruction()
2646 case Instruction::IF_GE: in CodeFlowVerifyInstruction()
2647 case Instruction::IF_GT: in CodeFlowVerifyInstruction()
2648 case Instruction::IF_LE: { in CodeFlowVerifyInstruction()
2657 case Instruction::IF_EQZ: in CodeFlowVerifyInstruction()
2658 case Instruction::IF_NEZ: { in CodeFlowVerifyInstruction()
2681 const Instruction& instance_of_inst = code_item_accessor_.InstructionAt(instance_of_idx); in CodeFlowVerifyInstruction()
2696 (Instruction::INSTANCE_OF == instance_of_inst.Opcode()) && in CodeFlowVerifyInstruction()
2723 if (inst->Opcode() == Instruction::IF_EQZ) { in CodeFlowVerifyInstruction()
2755 const Instruction& move_inst = code_item_accessor_.InstructionAt(move_idx); in CodeFlowVerifyInstruction()
2757 case Instruction::MOVE_OBJECT: in CodeFlowVerifyInstruction()
2760 case Instruction::MOVE_OBJECT_FROM16: in CodeFlowVerifyInstruction()
2763 case Instruction::MOVE_OBJECT_16: in CodeFlowVerifyInstruction()
2775 case Instruction::IF_LTZ: in CodeFlowVerifyInstruction()
2776 case Instruction::IF_GEZ: in CodeFlowVerifyInstruction()
2777 case Instruction::IF_GTZ: in CodeFlowVerifyInstruction()
2778 case Instruction::IF_LEZ: { in CodeFlowVerifyInstruction()
2786 case Instruction::AGET_BOOLEAN: in CodeFlowVerifyInstruction()
2789 case Instruction::AGET_BYTE: in CodeFlowVerifyInstruction()
2792 case Instruction::AGET_CHAR: in CodeFlowVerifyInstruction()
2795 case Instruction::AGET_SHORT: in CodeFlowVerifyInstruction()
2798 case Instruction::AGET: in CodeFlowVerifyInstruction()
2801 case Instruction::AGET_WIDE: in CodeFlowVerifyInstruction()
2804 case Instruction::AGET_OBJECT: in CodeFlowVerifyInstruction()
2808 case Instruction::APUT_BOOLEAN: in CodeFlowVerifyInstruction()
2811 case Instruction::APUT_BYTE: in CodeFlowVerifyInstruction()
2814 case Instruction::APUT_CHAR: in CodeFlowVerifyInstruction()
2817 case Instruction::APUT_SHORT: in CodeFlowVerifyInstruction()
2820 case Instruction::APUT: in CodeFlowVerifyInstruction()
2823 case Instruction::APUT_WIDE: in CodeFlowVerifyInstruction()
2826 case Instruction::APUT_OBJECT: in CodeFlowVerifyInstruction()
2830 case Instruction::IGET_BOOLEAN: in CodeFlowVerifyInstruction()
2831 case Instruction::IGET_BOOLEAN_QUICK: in CodeFlowVerifyInstruction()
2834 case Instruction::IGET_BYTE: in CodeFlowVerifyInstruction()
2835 case Instruction::IGET_BYTE_QUICK: in CodeFlowVerifyInstruction()
2838 case Instruction::IGET_CHAR: in CodeFlowVerifyInstruction()
2839 case Instruction::IGET_CHAR_QUICK: in CodeFlowVerifyInstruction()
2842 case Instruction::IGET_SHORT: in CodeFlowVerifyInstruction()
2843 case Instruction::IGET_SHORT_QUICK: in CodeFlowVerifyInstruction()
2846 case Instruction::IGET: in CodeFlowVerifyInstruction()
2847 case Instruction::IGET_QUICK: in CodeFlowVerifyInstruction()
2850 case Instruction::IGET_WIDE: in CodeFlowVerifyInstruction()
2851 case Instruction::IGET_WIDE_QUICK: in CodeFlowVerifyInstruction()
2854 case Instruction::IGET_OBJECT: in CodeFlowVerifyInstruction()
2855 case Instruction::IGET_OBJECT_QUICK: in CodeFlowVerifyInstruction()
2860 case Instruction::IPUT_BOOLEAN: in CodeFlowVerifyInstruction()
2861 case Instruction::IPUT_BOOLEAN_QUICK: in CodeFlowVerifyInstruction()
2864 case Instruction::IPUT_BYTE: in CodeFlowVerifyInstruction()
2865 case Instruction::IPUT_BYTE_QUICK: in CodeFlowVerifyInstruction()
2868 case Instruction::IPUT_CHAR: in CodeFlowVerifyInstruction()
2869 case Instruction::IPUT_CHAR_QUICK: in CodeFlowVerifyInstruction()
2872 case Instruction::IPUT_SHORT: in CodeFlowVerifyInstruction()
2873 case Instruction::IPUT_SHORT_QUICK: in CodeFlowVerifyInstruction()
2876 case Instruction::IPUT: in CodeFlowVerifyInstruction()
2877 case Instruction::IPUT_QUICK: in CodeFlowVerifyInstruction()
2880 case Instruction::IPUT_WIDE: in CodeFlowVerifyInstruction()
2881 case Instruction::IPUT_WIDE_QUICK: in CodeFlowVerifyInstruction()
2884 case Instruction::IPUT_OBJECT: in CodeFlowVerifyInstruction()
2885 case Instruction::IPUT_OBJECT_QUICK: in CodeFlowVerifyInstruction()
2890 case Instruction::SGET_BOOLEAN: in CodeFlowVerifyInstruction()
2893 case Instruction::SGET_BYTE: in CodeFlowVerifyInstruction()
2896 case Instruction::SGET_CHAR: in CodeFlowVerifyInstruction()
2899 case Instruction::SGET_SHORT: in CodeFlowVerifyInstruction()
2902 case Instruction::SGET: in CodeFlowVerifyInstruction()
2905 case Instruction::SGET_WIDE: in CodeFlowVerifyInstruction()
2908 case Instruction::SGET_OBJECT: in CodeFlowVerifyInstruction()
2913 case Instruction::SPUT_BOOLEAN: in CodeFlowVerifyInstruction()
2916 case Instruction::SPUT_BYTE: in CodeFlowVerifyInstruction()
2919 case Instruction::SPUT_CHAR: in CodeFlowVerifyInstruction()
2922 case Instruction::SPUT_SHORT: in CodeFlowVerifyInstruction()
2925 case Instruction::SPUT: in CodeFlowVerifyInstruction()
2928 case Instruction::SPUT_WIDE: in CodeFlowVerifyInstruction()
2931 case Instruction::SPUT_OBJECT: in CodeFlowVerifyInstruction()
2936 case Instruction::INVOKE_VIRTUAL: in CodeFlowVerifyInstruction()
2937 case Instruction::INVOKE_VIRTUAL_RANGE: in CodeFlowVerifyInstruction()
2938 case Instruction::INVOKE_SUPER: in CodeFlowVerifyInstruction()
2939 case Instruction::INVOKE_SUPER_RANGE: in CodeFlowVerifyInstruction()
2940 case Instruction::INVOKE_VIRTUAL_QUICK: in CodeFlowVerifyInstruction()
2941 case Instruction::INVOKE_VIRTUAL_RANGE_QUICK: { in CodeFlowVerifyInstruction()
2942 bool is_range = (inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE || in CodeFlowVerifyInstruction()
2943 inst->Opcode() == Instruction::INVOKE_SUPER_RANGE || in CodeFlowVerifyInstruction()
2944 inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK); in CodeFlowVerifyInstruction()
2945 bool is_super = (inst->Opcode() == Instruction::INVOKE_SUPER || in CodeFlowVerifyInstruction()
2946 inst->Opcode() == Instruction::INVOKE_SUPER_RANGE); in CodeFlowVerifyInstruction()
2979 case Instruction::INVOKE_DIRECT: in CodeFlowVerifyInstruction()
2980 case Instruction::INVOKE_DIRECT_RANGE: { in CodeFlowVerifyInstruction()
2981 bool is_range = (inst->Opcode() == Instruction::INVOKE_DIRECT_RANGE); in CodeFlowVerifyInstruction()
3061 case Instruction::INVOKE_STATIC: in CodeFlowVerifyInstruction()
3062 case Instruction::INVOKE_STATIC_RANGE: { in CodeFlowVerifyInstruction()
3063 bool is_range = (inst->Opcode() == Instruction::INVOKE_STATIC_RANGE); in CodeFlowVerifyInstruction()
3086 case Instruction::INVOKE_INTERFACE: in CodeFlowVerifyInstruction()
3087 case Instruction::INVOKE_INTERFACE_RANGE: { in CodeFlowVerifyInstruction()
3088 bool is_range = (inst->Opcode() == Instruction::INVOKE_INTERFACE_RANGE); in CodeFlowVerifyInstruction()
3143 case Instruction::INVOKE_POLYMORPHIC: in CodeFlowVerifyInstruction()
3144 case Instruction::INVOKE_POLYMORPHIC_RANGE: { in CodeFlowVerifyInstruction()
3145 bool is_range = (inst->Opcode() == Instruction::INVOKE_POLYMORPHIC_RANGE); in CodeFlowVerifyInstruction()
3176 case Instruction::INVOKE_CUSTOM: in CodeFlowVerifyInstruction()
3177 case Instruction::INVOKE_CUSTOM_RANGE: { in CodeFlowVerifyInstruction()
3179 bool is_range = (inst->Opcode() == Instruction::INVOKE_CUSTOM_RANGE); in CodeFlowVerifyInstruction()
3209 case Instruction::NEG_INT: in CodeFlowVerifyInstruction()
3210 case Instruction::NOT_INT: in CodeFlowVerifyInstruction()
3213 case Instruction::NEG_LONG: in CodeFlowVerifyInstruction()
3214 case Instruction::NOT_LONG: in CodeFlowVerifyInstruction()
3218 case Instruction::NEG_FLOAT: in CodeFlowVerifyInstruction()
3221 case Instruction::NEG_DOUBLE: in CodeFlowVerifyInstruction()
3225 case Instruction::INT_TO_LONG: in CodeFlowVerifyInstruction()
3229 case Instruction::INT_TO_FLOAT: in CodeFlowVerifyInstruction()
3232 case Instruction::INT_TO_DOUBLE: in CodeFlowVerifyInstruction()
3236 case Instruction::LONG_TO_INT: in CodeFlowVerifyInstruction()
3240 case Instruction::LONG_TO_FLOAT: in CodeFlowVerifyInstruction()
3244 case Instruction::LONG_TO_DOUBLE: in CodeFlowVerifyInstruction()
3248 case Instruction::FLOAT_TO_INT: in CodeFlowVerifyInstruction()
3251 case Instruction::FLOAT_TO_LONG: in CodeFlowVerifyInstruction()
3255 case Instruction::FLOAT_TO_DOUBLE: in CodeFlowVerifyInstruction()
3259 case Instruction::DOUBLE_TO_INT: in CodeFlowVerifyInstruction()
3263 case Instruction::DOUBLE_TO_LONG: in CodeFlowVerifyInstruction()
3267 case Instruction::DOUBLE_TO_FLOAT: in CodeFlowVerifyInstruction()
3271 case Instruction::INT_TO_BYTE: in CodeFlowVerifyInstruction()
3274 case Instruction::INT_TO_CHAR: in CodeFlowVerifyInstruction()
3277 case Instruction::INT_TO_SHORT: in CodeFlowVerifyInstruction()
3281 case Instruction::ADD_INT: in CodeFlowVerifyInstruction()
3282 case Instruction::SUB_INT: in CodeFlowVerifyInstruction()
3283 case Instruction::MUL_INT: in CodeFlowVerifyInstruction()
3284 case Instruction::REM_INT: in CodeFlowVerifyInstruction()
3285 case Instruction::DIV_INT: in CodeFlowVerifyInstruction()
3286 case Instruction::SHL_INT: in CodeFlowVerifyInstruction()
3287 case Instruction::SHR_INT: in CodeFlowVerifyInstruction()
3288 case Instruction::USHR_INT: in CodeFlowVerifyInstruction()
3292 case Instruction::AND_INT: in CodeFlowVerifyInstruction()
3293 case Instruction::OR_INT: in CodeFlowVerifyInstruction()
3294 case Instruction::XOR_INT: in CodeFlowVerifyInstruction()
3298 case Instruction::ADD_LONG: in CodeFlowVerifyInstruction()
3299 case Instruction::SUB_LONG: in CodeFlowVerifyInstruction()
3300 case Instruction::MUL_LONG: in CodeFlowVerifyInstruction()
3301 case Instruction::DIV_LONG: in CodeFlowVerifyInstruction()
3302 case Instruction::REM_LONG: in CodeFlowVerifyInstruction()
3303 case Instruction::AND_LONG: in CodeFlowVerifyInstruction()
3304 case Instruction::OR_LONG: in CodeFlowVerifyInstruction()
3305 case Instruction::XOR_LONG: in CodeFlowVerifyInstruction()
3310 case Instruction::SHL_LONG: in CodeFlowVerifyInstruction()
3311 case Instruction::SHR_LONG: in CodeFlowVerifyInstruction()
3312 case Instruction::USHR_LONG: in CodeFlowVerifyInstruction()
3317 case Instruction::ADD_FLOAT: in CodeFlowVerifyInstruction()
3318 case Instruction::SUB_FLOAT: in CodeFlowVerifyInstruction()
3319 case Instruction::MUL_FLOAT: in CodeFlowVerifyInstruction()
3320 case Instruction::DIV_FLOAT: in CodeFlowVerifyInstruction()
3321 case Instruction::REM_FLOAT: in CodeFlowVerifyInstruction()
3325 case Instruction::ADD_DOUBLE: in CodeFlowVerifyInstruction()
3326 case Instruction::SUB_DOUBLE: in CodeFlowVerifyInstruction()
3327 case Instruction::MUL_DOUBLE: in CodeFlowVerifyInstruction()
3328 case Instruction::DIV_DOUBLE: in CodeFlowVerifyInstruction()
3329 case Instruction::REM_DOUBLE: in CodeFlowVerifyInstruction()
3334 case Instruction::ADD_INT_2ADDR: in CodeFlowVerifyInstruction()
3335 case Instruction::SUB_INT_2ADDR: in CodeFlowVerifyInstruction()
3336 case Instruction::MUL_INT_2ADDR: in CodeFlowVerifyInstruction()
3337 case Instruction::REM_INT_2ADDR: in CodeFlowVerifyInstruction()
3338 case Instruction::SHL_INT_2ADDR: in CodeFlowVerifyInstruction()
3339 case Instruction::SHR_INT_2ADDR: in CodeFlowVerifyInstruction()
3340 case Instruction::USHR_INT_2ADDR: in CodeFlowVerifyInstruction()
3344 case Instruction::AND_INT_2ADDR: in CodeFlowVerifyInstruction()
3345 case Instruction::OR_INT_2ADDR: in CodeFlowVerifyInstruction()
3346 case Instruction::XOR_INT_2ADDR: in CodeFlowVerifyInstruction()
3350 case Instruction::DIV_INT_2ADDR: in CodeFlowVerifyInstruction()
3354 case Instruction::ADD_LONG_2ADDR: in CodeFlowVerifyInstruction()
3355 case Instruction::SUB_LONG_2ADDR: in CodeFlowVerifyInstruction()
3356 case Instruction::MUL_LONG_2ADDR: in CodeFlowVerifyInstruction()
3357 case Instruction::DIV_LONG_2ADDR: in CodeFlowVerifyInstruction()
3358 case Instruction::REM_LONG_2ADDR: in CodeFlowVerifyInstruction()
3359 case Instruction::AND_LONG_2ADDR: in CodeFlowVerifyInstruction()
3360 case Instruction::OR_LONG_2ADDR: in CodeFlowVerifyInstruction()
3361 case Instruction::XOR_LONG_2ADDR: in CodeFlowVerifyInstruction()
3366 case Instruction::SHL_LONG_2ADDR: in CodeFlowVerifyInstruction()
3367 case Instruction::SHR_LONG_2ADDR: in CodeFlowVerifyInstruction()
3368 case Instruction::USHR_LONG_2ADDR: in CodeFlowVerifyInstruction()
3372 case Instruction::ADD_FLOAT_2ADDR: in CodeFlowVerifyInstruction()
3373 case Instruction::SUB_FLOAT_2ADDR: in CodeFlowVerifyInstruction()
3374 case Instruction::MUL_FLOAT_2ADDR: in CodeFlowVerifyInstruction()
3375 case Instruction::DIV_FLOAT_2ADDR: in CodeFlowVerifyInstruction()
3376 case Instruction::REM_FLOAT_2ADDR: in CodeFlowVerifyInstruction()
3380 case Instruction::ADD_DOUBLE_2ADDR: in CodeFlowVerifyInstruction()
3381 case Instruction::SUB_DOUBLE_2ADDR: in CodeFlowVerifyInstruction()
3382 case Instruction::MUL_DOUBLE_2ADDR: in CodeFlowVerifyInstruction()
3383 case Instruction::DIV_DOUBLE_2ADDR: in CodeFlowVerifyInstruction()
3384 case Instruction::REM_DOUBLE_2ADDR: in CodeFlowVerifyInstruction()
3389 case Instruction::ADD_INT_LIT16: in CodeFlowVerifyInstruction()
3390 case Instruction::RSUB_INT_LIT16: in CodeFlowVerifyInstruction()
3391 case Instruction::MUL_INT_LIT16: in CodeFlowVerifyInstruction()
3392 case Instruction::DIV_INT_LIT16: in CodeFlowVerifyInstruction()
3393 case Instruction::REM_INT_LIT16: in CodeFlowVerifyInstruction()
3397 case Instruction::AND_INT_LIT16: in CodeFlowVerifyInstruction()
3398 case Instruction::OR_INT_LIT16: in CodeFlowVerifyInstruction()
3399 case Instruction::XOR_INT_LIT16: in CodeFlowVerifyInstruction()
3403 case Instruction::ADD_INT_LIT8: in CodeFlowVerifyInstruction()
3404 case Instruction::RSUB_INT_LIT8: in CodeFlowVerifyInstruction()
3405 case Instruction::MUL_INT_LIT8: in CodeFlowVerifyInstruction()
3406 case Instruction::DIV_INT_LIT8: in CodeFlowVerifyInstruction()
3407 case Instruction::REM_INT_LIT8: in CodeFlowVerifyInstruction()
3408 case Instruction::SHL_INT_LIT8: in CodeFlowVerifyInstruction()
3409 case Instruction::SHR_INT_LIT8: in CodeFlowVerifyInstruction()
3410 case Instruction::USHR_INT_LIT8: in CodeFlowVerifyInstruction()
3414 case Instruction::AND_INT_LIT8: in CodeFlowVerifyInstruction()
3415 case Instruction::OR_INT_LIT8: in CodeFlowVerifyInstruction()
3416 case Instruction::XOR_INT_LIT8: in CodeFlowVerifyInstruction()
3422 case Instruction::RETURN_VOID_NO_BARRIER: in CodeFlowVerifyInstruction()
3455 case Instruction::UNUSED_3E ... Instruction::UNUSED_43: in CodeFlowVerifyInstruction()
3456 case Instruction::UNUSED_F3 ... Instruction::UNUSED_F9: in CodeFlowVerifyInstruction()
3457 case Instruction::UNUSED_79: in CodeFlowVerifyInstruction()
3458 case Instruction::UNUSED_7A: in CodeFlowVerifyInstruction()
3487 opcode_flags = Instruction::kThrow; in CodeFlowVerifyInstruction()
3513 if ((opcode_flags & Instruction::kBranch) != 0) { in CodeFlowVerifyInstruction()
3520 DCHECK_EQ(isConditional, (opcode_flags & Instruction::kContinue) != 0); in CodeFlowVerifyInstruction()
3543 if ((opcode_flags & Instruction::kSwitch) != 0) { in CodeFlowVerifyInstruction()
3549 if ((*insns & 0xff) == Instruction::PACKED_SWITCH) { in CodeFlowVerifyInstruction()
3554 DCHECK((*insns & 0xff) == Instruction::SPARSE_SWITCH); in CodeFlowVerifyInstruction()
3581 if ((opcode_flags & Instruction::kThrow) != 0 && GetInstructionFlags(work_insn_idx_).IsInTry()) { in CodeFlowVerifyInstruction()
3632 if (inst->Opcode() != Instruction::MONITOR_ENTER || work_line_->MonitorStackDepth() != 1) { in CodeFlowVerifyInstruction()
3645 if ((opcode_flags & Instruction::kContinue) != 0) { in CodeFlowVerifyInstruction()
3663 const Instruction* ret_inst = &code_item_accessor_.InstructionAt(next_insn_idx); in CodeFlowVerifyInstruction()
3684 if ((opcode_flags & Instruction::kReturn) != 0) { in CodeFlowVerifyInstruction()
3694 if ((opcode_flags & Instruction::kContinue) != 0) { in CodeFlowVerifyInstruction()
3697 } else if ((opcode_flags & Instruction::kBranch) != 0) { in CodeFlowVerifyInstruction()
3971 T* it, const Instruction* inst, MethodType method_type, bool is_range, ArtMethod* res_method) { in VerifyInvocationArgsFromIterator()
4118 void MethodVerifier<kVerifierDebug>::VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, in VerifyInvocationArgsUnresolvedMethod()
4213 const Instruction* inst, MethodType method_type, bool is_range) { in VerifyInvocationArgs()
4342 bool MethodVerifier<kVerifierDebug>::CheckSignaturePolymorphicReceiver(const Instruction* inst) { in CheckSignaturePolymorphicReceiver()
4377 uint16_t MethodVerifier<kVerifierDebug>::GetMethodIdxOfInvoke(const Instruction* inst) { in GetMethodIdxOfInvoke()
4379 case Instruction::INVOKE_VIRTUAL_RANGE_QUICK: in GetMethodIdxOfInvoke()
4380 case Instruction::INVOKE_VIRTUAL_QUICK: { in GetMethodIdxOfInvoke()
4395 uint16_t MethodVerifier<kVerifierDebug>::GetFieldIdxOfFieldAccess(const Instruction* inst, in GetFieldIdxOfFieldAccess()
4411 void MethodVerifier<kVerifierDebug>::VerifyNewArray(const Instruction* inst, in VerifyNewArray()
4416 DCHECK_EQ(inst->Opcode(), Instruction::NEW_ARRAY); in VerifyNewArray()
4419 DCHECK_EQ(inst->Opcode(), Instruction::FILLED_NEW_ARRAY); in VerifyNewArray()
4422 DCHECK_EQ(inst->Opcode(), Instruction::FILLED_NEW_ARRAY_RANGE); in VerifyNewArray()
4463 void MethodVerifier<kVerifierDebug>::VerifyAGet(const Instruction* inst, in VerifyAGet()
4589 void MethodVerifier<kVerifierDebug>::VerifyAPut(const Instruction* inst, in VerifyAPut()
4788 void MethodVerifier<kVerifierDebug>::VerifyISFieldAccess(const Instruction* inst, in VerifyISFieldAccess()
4964 const Instruction* ret_inst = &code_item_accessor_.InstructionAt(next_insn); in UpdateRegisters()
5473 const Instruction& inst = code_item_accessor_.InstructionAt(work_insn_idx_); in Fail()
5474 int opcode_flags = Instruction::FlagsOf(inst.Opcode()); in Fail()
5476 if ((opcode_flags & Instruction::kThrow) == 0 && in Fail()