Lines Matching defs:MethodVerifier
56 MethodVerifier* verifier) {
91 ALWAYS_INLINE static inline bool FailOrAbort(MethodVerifier* verifier, bool condition,
107 MethodVerifier::FailureKind MethodVerifier::VerifyClass(mirror::Class* klass,
143 MethodVerifier::FailureKind MethodVerifier::VerifyClass(const DexFile* dex_file,
181 MethodVerifier::FailureKind result = VerifyMethod(method_idx,
225 MethodVerifier::FailureKind result = VerifyMethod(method_idx,
257 MethodVerifier::FailureKind MethodVerifier::VerifyMethod(uint32_t method_idx,
267 MethodVerifier::FailureKind result = kNoFailure;
270 MethodVerifier verifier(dex_file, &dex_cache, &class_loader, class_def, code_item,
306 MethodVerifier* MethodVerifier::VerifyMethodAndDump(std::ostream& os, uint32_t dex_method_idx,
314 MethodVerifier* verifier = new MethodVerifier(dex_file, &dex_cache, &class_loader, class_def,
325 MethodVerifier::MethodVerifier(const DexFile* dex_file, Handle<mirror::DexCache>* dex_cache,
360 MethodVerifier::~MethodVerifier() {
365 void MethodVerifier::FindLocksAtDexPc(mirror::ArtMethod* m, uint32_t dex_pc,
370 MethodVerifier verifier(m->GetDexFile(), &dex_cache, &class_loader, &m->GetClassDef(),
378 void MethodVerifier::FindLocksAtDexPc() {
389 mirror::ArtField* MethodVerifier::FindAccessedFieldAtDexPc(mirror::ArtMethod* m,
394 MethodVerifier verifier(m->GetDexFile(), &dex_cache, &class_loader, &m->GetClassDef(),
400 mirror::ArtField* MethodVerifier::FindAccessedFieldAtDexPc(uint32_t dex_pc) {
419 mirror::ArtMethod* MethodVerifier::FindInvokedMethodAtDexPc(mirror::ArtMethod* m,
424 MethodVerifier verifier(m->GetDexFile(), &dex_cache, &class_loader, &m->GetClassDef(),
430 mirror::ArtMethod* MethodVerifier::FindInvokedMethodAtDexPc(uint32_t dex_pc) {
450 bool MethodVerifier::Verify() {
483 std::ostream& MethodVerifier::Fail(VerifyError error) {
533 std::ostream& MethodVerifier::LogVerifyInfo() {
538 void MethodVerifier::PrependToLastFailMessage(std::string prepend) {
547 void MethodVerifier::AppendToLastFailMessage(std::string append) {
554 bool MethodVerifier::ComputeWidthsAndCountOps() {
601 bool MethodVerifier::ScanTryCatchBlocks() {
659 bool MethodVerifier::VerifyInstructions() {
686 bool MethodVerifier::VerifyInstruction(const Instruction* inst, uint32_t code_offset) {
782 bool MethodVerifier
791 bool MethodVerifier::CheckWideRegisterIndex(uint32_t idx) {
800 bool MethodVerifier::CheckFieldIndex(uint32_t idx) {
809 bool MethodVerifier::CheckMethodIndex(uint32_t idx) {
818 bool MethodVerifier::CheckNewInstance(uint32_t idx) {
833 bool MethodVerifier::CheckStringIndex(uint32_t idx) {
842 bool MethodVerifier::CheckTypeIndex(uint32_t idx) {
851 bool MethodVerifier::CheckNewArray(uint32_t idx) {
877 bool MethodVerifier::CheckArrayData(uint32_t cur_offset) {
915 bool MethodVerifier::CheckBranchTarget(uint32_t cur_offset) {
947 bool MethodVerifier::GetBranchOffset(uint32_t cur_offset, int32_t* pOffset, bool* pConditional,
985 bool MethodVerifier::CheckSwitchTargets(uint32_t cur_offset) {
1067 bool MethodVerifier::CheckVarArgRegs(uint32_t vA, uint32_t arg[]) {
1084 bool MethodVerifier::CheckVarArgRangeRegs(uint32_t vA, uint32_t vC) {
1096 bool MethodVerifier::VerifyCodeFlow() {
1131 std::ostream& MethodVerifier::DumpFailures(std::ostream& os) {
1139 extern "C" void MethodVerifierGdbDump(MethodVerifier* v)
1144 void MethodVerifier::Dump(std::ostream& os) {
1191 bool MethodVerifier::SetTypesFromSignature() {
1323 bool MethodVerifier::CodeFlowVerifyMethod() {
1434 bool MethodVerifier::CodeFlowVerifyInstruction(uint32_t* start_guess) {
2965 RegType& MethodVerifier::ResolveClassAndCheckAccess(uint32_t class_idx) {
2992 RegType& MethodVerifier::GetCaughtExceptionType() {
3041 mirror::ArtMethod* MethodVerifier::ResolveMethodAndCheckAccess(uint32_t dex_method_idx,
3134 mirror::ArtMethod* MethodVerifier::VerifyInvocationArgsFromIterator(T* it, const Instruction* inst,
3253 void MethodVerifier::VerifyInvocationArgsUnresolvedMethod(const Instruction* inst,
3292 mirror::ArtMethod* MethodVerifier::VerifyInvocationArgs(const Instruction* inst,
3337 mirror::ArtMethod* MethodVerifier::GetQuickInvokedMethod(const Instruction* inst,
3380 mirror::ArtMethod* MethodVerifier::VerifyInvokeVirtualQuickArgs(const Instruction* inst,
3478 void MethodVerifier::VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range) {
3526 void MethodVerifier::VerifyAGet(const Instruction* inst,
3575 void MethodVerifier::VerifyPrimitivePut(RegType& target_type, RegType& insn_type,
3626 void MethodVerifier::VerifyAPut(const Instruction* inst,
3658 mirror::ArtField* MethodVerifier::GetStaticField(int field_idx) {
3693 mirror::ArtField* MethodVerifier::GetInstanceField(RegType& obj_type, int field_idx) {
3760 template <MethodVerifier::FieldAccessType kAccType>
3761 void MethodVerifier::VerifyISFieldAccess(const Instruction* inst, RegType& insn_type,
3859 mirror::ArtField* MethodVerifier::GetQuickFieldAccess(const Instruction* inst,
3882 template <MethodVerifier::FieldAccessType kAccType>
3883 void MethodVerifier::VerifyQuickFieldAccess(const Instruction* inst, RegType& insn_type,
4016 bool MethodVerifier::CheckNotMoveException(const uint16_t* insns, int insn_idx) {
4024 bool MethodVerifier::UpdateRegisters(uint32_t next_insn, RegisterLine* merge_line,
4084 InstructionFlags* MethodVerifier::CurrentInsnFlags() {
4088 RegType& MethodVerifier::GetMethodReturnType() {
4118 RegType& MethodVerifier::GetDeclaringClass() {
4134 std::vector<int32_t> MethodVerifier::DescribeVRegs(uint32_t dex_pc) {
4179 RegType& MethodVerifier::DetermineCat1Constant(int32_t value, bool precise) {
4207 void MethodVerifier::Init() {
4211 void MethodVerifier::Shutdown() {
4215 void MethodVerifier::VisitStaticRoots(RootCallback* callback, void* arg) {
4219 void MethodVerifier::VisitRoots(RootCallback* callback, void* arg) {