/art/runtime/verifier/ |
D | register_line.cc | 27 namespace verifier { namespace 31 bool RegisterLine::CheckConstructorReturn(MethodVerifier* verifier) const { in CheckConstructorReturn() 35 const RegType& type = GetRegisterType(verifier, i); in CheckConstructorReturn() 39 << verifier->GetMethodReference().PrettyMethod(); in CheckConstructorReturn() 43 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) in CheckConstructorReturn() 49 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, in GetInvocationThis() argument 55 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "invoke lacks 'this'"; in GetInvocationThis() 57 return verifier->GetRegTypeCache()->Conflict(); in GetInvocationThis() 61 const RegType& this_type = GetRegisterType(verifier, this_reg); in GetInvocationThis() 64 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) in GetInvocationThis() [all …]
|
D | register_line-inl.h | 26 namespace verifier { 32 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const { in GetRegisterType() argument 35 return verifier->GetRegTypeCache()->GetFromId(line_[vsrc]); in GetRegisterType() 39 inline bool RegisterLine::SetRegisterType(MethodVerifier* verifier, uint32_t vdst, in SetRegisterType() argument 43 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Expected category1 register type not '" in SetRegisterType() 64 inline bool RegisterLine::SetRegisterTypeWide(MethodVerifier* verifier, uint32_t vdst, in SetRegisterTypeWide() argument 69 verifier->Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "Invalid wide pair '" in SetRegisterTypeWide() 82 inline void RegisterLine::SetResultTypeToUnknown(MethodVerifier* verifier) { in SetResultTypeToUnknown() argument 83 result_[0] = verifier->GetRegTypeCache()->Undefined().GetId(); in SetResultTypeToUnknown() 87 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, const RegType& new_type) { in SetResultRegisterType() argument [all …]
|
D | register_line.h | 30 namespace verifier { 66 static RegisterLine* Create(size_t num_regs, MethodVerifier* verifier); 69 void CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat) 74 void CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) 79 void CopyResultRegister1(MethodVerifier* verifier, uint32_t vdst, bool is_reference) 84 void CopyResultRegister2(MethodVerifier* verifier, uint32_t vdst) 88 void SetResultTypeToUnknown(MethodVerifier* verifier) REQUIRES_SHARED(Locks::mutator_lock_); 102 ALWAYS_INLINE bool SetRegisterType(MethodVerifier* verifier, 107 bool SetRegisterTypeWide(MethodVerifier* verifier, 114 void SetResultRegisterType(MethodVerifier* verifier, const RegType& new_type) [all …]
|
D | verifier_compiler_binding.h | 26 namespace verifier { 30 constexpr uint32_t unresolved_mask = verifier::VerifyError::VERIFY_ERROR_NO_CLASS in CanCompilerHandleVerificationFailure() 31 | verifier::VerifyError::VERIFY_ERROR_ACCESS_CLASS in CanCompilerHandleVerificationFailure() 32 | verifier::VerifyError::VERIFY_ERROR_ACCESS_FIELD in CanCompilerHandleVerificationFailure() 33 | verifier::VerifyError::VERIFY_ERROR_ACCESS_METHOD; in CanCompilerHandleVerificationFailure()
|
D | reg_type-inl.h | 29 namespace verifier { 70 MethodVerifier* verifier) { in AssignableFrom() argument 115 if (verifier != nullptr) { in AssignableFrom() 117 verifier->GetDexFile(), lhs.GetClass(), rhs.GetClass(), strict, result); in AssignableFrom() 133 inline bool RegType::IsAssignableFrom(const RegType& src, MethodVerifier* verifier) const { in IsAssignableFrom() argument 134 return AssignableFrom(*this, src, false, verifier); in IsAssignableFrom() 137 inline bool RegType::IsStrictlyAssignableFrom(const RegType& src, MethodVerifier* verifier) const { in IsStrictlyAssignableFrom() argument 138 return AssignableFrom(*this, src, true, verifier); in IsStrictlyAssignableFrom()
|
/art/runtime/ |
D | compiler_callbacks.h | 27 namespace verifier { 43 virtual void MethodVerified(verifier::MethodVerifier* verifier) 51 virtual verifier::VerifierDeps* GetVerifierDeps() const = 0; 52 virtual void SetVerifierDeps(verifier::VerifierDeps* deps ATTRIBUTE_UNUSED) {} in SetVerifierDeps()
|
D | noop_compiler_callbacks.h | 29 void MethodVerified(verifier::MethodVerifier* verifier ATTRIBUTE_UNUSED) OVERRIDE { in MethodVerified() 39 verifier::VerifierDeps* GetVerifierDeps() const OVERRIDE { return nullptr; } in GetVerifierDeps()
|
D | aot_class_linker.cc | 32 verifier::FailureKind AotClassLinker::PerformClassVerification(Thread* self, in PerformClassVerification() 34 verifier::HardFailLogMode log_level, in PerformClassVerification() 40 return verifier::FailureKind::kNoFailure; in PerformClassVerification()
|
D | aot_class_linker.h | 34 verifier::FailureKind PerformClassVerification(Thread* self, 36 verifier::HardFailLogMode log_level,
|
/art/compiler/dex/ |
D | quick_compiler_callbacks.h | 35 void MethodVerified(verifier::MethodVerifier* verifier) 45 verifier::VerifierDeps* GetVerifierDeps() const OVERRIDE { in GetVerifierDeps() 49 void SetVerifierDeps(verifier::VerifierDeps* deps) OVERRIDE { in SetVerifierDeps() 70 std::unique_ptr<verifier::VerifierDeps> verifier_deps_;
|
D | verified_method.cc | 38 const VerifiedMethod* VerifiedMethod::Create(verifier::MethodVerifier* method_verifier) { in Create() 58 void VerifiedMethod::GenerateSafeCastSet(verifier::MethodVerifier* method_verifier) { in GenerateSafeCastSet() 80 const verifier::RegisterLine* line = method_verifier->GetRegLine(dex_pc); in GenerateSafeCastSet() 81 const verifier::RegType& reg_type(line->GetRegisterType(method_verifier, in GenerateSafeCastSet() 83 const verifier::RegType& cast_type = in GenerateSafeCastSet() 94 verifier::VerifierDeps::MaybeRecordAssignability(method_verifier->GetDexFile(), in GenerateSafeCastSet()
|
D | quick_compiler_callbacks.cc | 25 void QuickCompilerCallbacks::MethodVerified(verifier::MethodVerifier* verifier) { in MethodVerified() argument 27 verification_results_->ProcessVerifiedMethod(verifier); in MethodVerified()
|
D | verified_method.h | 29 namespace verifier { 42 static const VerifiedMethod* Create(verifier::MethodVerifier* method_verifier) 69 void GenerateSafeCastSet(verifier::MethodVerifier* method_verifier)
|
D | verification_results.h | 33 namespace verifier { 47 void ProcessVerifiedMethod(verifier::MethodVerifier* method_verifier) 85 friend class verifier::VerifierDepsTest;
|
/art/test/076-boolean-put/ |
D | info.txt | 2 boolean field. The code as generated should not pass the verifier, so the 3 verifier had to be "loosened" to allow this case.
|
/art/test/303-verification-stress/ |
D | info.txt | 1 This is more a benchmark for the verifier than a real test. We create many 4 verifier on such method.
|
/art/test/161-final-abstract-class/ |
D | info.txt | 1 Regression test for verifier crash when processing a final abstract (erroneous) class.
|
/art/test/493-checker-inline-invoke-interface/ |
D | info.txt | 2 requiring the verifier to sharpen them.
|
/art/test/506-verify-aput/ |
D | info.txt | 2 by the verifier.
|
/art/test/088-monitor-verification/ |
D | info.txt | 2 lock checks in the bytecode verifier.
|
/art/test/954-invoke-polymorphic-verifier/ |
D | info.txt | 1 Test cases that should be rejected by the method verifier.
|
/art/test/974-verify-interface-super/ |
D | info.txt | 2 verifier errors.
|
/art/test/546-regression-simplify-catch/ |
D | info.txt | 2 that was not verified by the verifier.
|
/art/compiler/ |
D | verifier_deps_test.cc | 40 namespace verifier { namespace 48 void MethodVerified(verifier::MethodVerifier* verifier ATTRIBUTE_UNUSED) OVERRIDE {} in MethodVerified() 52 verifier::VerifierDeps* GetVerifierDeps() const OVERRIDE { return deps_; } in GetVerifierDeps() 53 void SetVerifierDeps(verifier::VerifierDeps* deps) { deps_ = deps; } in SetVerifierDeps() 56 verifier::VerifierDeps* deps_; 86 void VerifyWithCompilerDriver(verifier::VerifierDeps* deps) { in VerifyWithCompilerDriver() 92 deps = new verifier::VerifierDeps(dex_files_); in VerifyWithCompilerDriver() 109 verifier_deps_.reset(new verifier::VerifierDeps(dex_files)); in SetVerifierDeps() 177 MethodVerifier verifier(Thread::Current(), in VerifyMethod() local 191 verifier.Verify(); in VerifyMethod() [all …]
|
/art/test/516-dead-move-result/ |
D | info.txt | 2 where a move-result was bogus, but it passed the verifier
|