/art/runtime/verifier/ |
H A D | instruction_flags.cc | 22 namespace verifier { namespace in namespace:art 41 } // namespace verifier
|
H A D | verifier_compiler_binding.h | 26 namespace verifier { namespace in namespace:art 30 constexpr uint32_t unresolved_mask = verifier::VerifyError::VERIFY_ERROR_NO_CLASS 31 | verifier::VerifyError::VERIFY_ERROR_ACCESS_CLASS 32 | verifier::VerifyError::VERIFY_ERROR_ACCESS_FIELD 33 | verifier::VerifyError::VERIFY_ERROR_ACCESS_METHOD; 37 } // namespace verifier
|
H A D | method_verifier_test.cc | 32 namespace verifier { namespace in namespace:art 73 } // namespace verifier
|
H A D | method_verifier-inl.h | 29 namespace verifier { namespace in namespace:art 82 } // namespace verifier
|
H A D | reg_type_cache.h | 37 namespace verifier { namespace in namespace:art 76 const art::verifier::RegType& GetFromId(uint16_t id) const; 98 MethodVerifier* verifier) 173 // verifier. 208 } // namespace verifier
|
H A D | reg_type-inl.h | 29 namespace verifier { namespace in namespace:art 73 MethodVerifier* verifier) { 116 // Record assignability dependency. The `verifier` is null during unit tests and 118 if (verifier != nullptr) { 120 verifier->GetDexFile(), lhs.GetClass(), rhs.GetClass(), strict, result); 137 inline bool RegType::IsAssignableFrom(const RegType& src, MethodVerifier* verifier) const { 138 return AssignableFrom(*this, src, false, verifier); 141 inline bool RegType::IsStrictlyAssignableFrom(const RegType& src, MethodVerifier* verifier) const { 142 return AssignableFrom(*this, src, true, verifier); 215 } // namespace verifier 70 AssignableFrom(const RegType& lhs, const RegType& rhs, bool strict, MethodVerifier* verifier) argument [all...] |
H A D | instruction_flags.h | 26 namespace verifier { namespace in namespace:art 125 // Location of interest to the compiler for GC maps and verifier based method sharpening. 136 } // namespace verifier
|
H A D | reg_type_cache-inl.h | 30 namespace verifier { namespace in namespace:art 32 inline const art::verifier::RegType& RegTypeCache::GetFromId(uint16_t id) const { 189 } // namespace verifier
|
H A D | register_line-inl.h | 28 namespace verifier { namespace in namespace:art 34 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const { argument 37 return verifier->GetRegTypeCache()->GetFromId(line_[vsrc]); 41 inline bool RegisterLine::SetRegisterType(MethodVerifier* verifier, uint32_t vdst, argument 45 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Expected category1 register type not '" 66 inline bool RegisterLine::SetRegisterTypeWide(MethodVerifier* verifier, uint32_t vdst, argument 71 verifier->Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "Invalid wide pair '" 84 inline void RegisterLine::SetResultTypeToUnknown(MethodVerifier* verifier) { argument 85 result_[0] = verifier->GetRegTypeCache()->Undefined().GetId(); 89 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, cons argument 103 CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat) argument 120 CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) argument 132 VerifyRegisterType(MethodVerifier* verifier, uint32_t vsrc, const RegType& check_type) argument 190 Create(size_t num_regs, MethodVerifier* verifier) argument 195 RegisterLine(size_t num_regs, MethodVerifier* verifier) argument [all...] |
H A D | register_line.h | 32 namespace verifier { namespace in namespace:art 68 static RegisterLine* Create(size_t num_regs, MethodVerifier* verifier); 71 void CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat) 76 void CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) 81 void CopyResultRegister1(MethodVerifier* verifier, uint32_t vdst, bool is_reference) 86 void CopyResultRegister2(MethodVerifier* verifier, uint32_t vdst) 90 void SetResultTypeToUnknown(MethodVerifier* verifier) REQUIRES_SHARED(Locks::mutator_lock_); 104 ALWAYS_INLINE bool SetRegisterType(MethodVerifier* verifier, 109 bool SetRegisterTypeWide(MethodVerifier* verifier, 116 void SetResultRegisterType(MethodVerifier* verifier, cons [all...] |
H A D | verifier_deps.h | 44 namespace verifier { namespace in namespace:art 330 // Output only signifies if we are using the verifier deps to verify or just to generate them. 341 } // namespace verifier
|
H A D | verifier_enums.h | 23 namespace verifier { namespace in namespace:art 25 // The mode that the verifier should run as. 70 * that can potentially be corrected, and the verifier will try again at runtime. 87 // For opcodes that don't have complete verifier support, we need a way to continue 90 // which will perform verifier-like checking on the fly. 99 } // namespace verifier
|
H A D | method_verifier.h | 51 namespace verifier { namespace in namespace:art 78 uint16_t registers_size, MethodVerifier* verifier); 94 // The verifier 144 // Dump the failures encountered by the verifier. 147 // Dump the state of the verifier, namely each instruction, what flags are set on it, register 165 // Note: this is the only situation where the verifier will visit quickened instructions. 759 // Info message log use primarily for verifier diagnostics. 772 // running and the verifier is called from the class linker. 807 // Link, for the method verifier root linked list. 816 } // namespace verifier [all...] |
H A D | reg_type.cc | 39 namespace verifier { namespace in namespace:art 592 MethodVerifier* verifier) const { 713 return reg_types->FromUnresolvedMerge(*this, incoming_type, verifier); 744 // The `verifier` is null during unit tests. 745 if (verifier != nullptr) { 747 verifier->GetDexFile(), join_class, c1, true /* strict */, true /* is_assignable */); 749 verifier->GetDexFile(), join_class, c2, true /* strict */, true /* is_assignable */); 930 MethodVerifier* verifier, 948 if (cmp1.IsAssignableFrom(cmp2, verifier)) { 971 return cmp1.CanAssignArray(cmp2, reg_types, class_loader, verifier, soft_erro 927 CanAssignArray(const RegType& src, RegTypeCache& reg_types, Handle<mirror::ClassLoader> class_loader, MethodVerifier* verifier, bool* soft_error) const argument [all...] |
H A D | reg_type_cache.cc | 35 namespace verifier { namespace in namespace:art 382 MethodVerifier* verifier) { 423 const RegType& resolved_parts_merged = left_resolved->SafeMerge(*right_resolved, this, verifier); 715 } // namespace verifier 380 FromUnresolvedMerge(const RegType& left, const RegType& right, MethodVerifier* verifier) argument
|
H A D | register_line.cc | 27 namespace verifier { namespace in namespace:art 31 bool RegisterLine::CheckConstructorReturn(MethodVerifier* verifier) const { 35 const RegType& type = GetRegisterType(verifier, i); 39 << verifier->GetMethodReference().PrettyMethod(); 43 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) 49 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, argument 55 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "invoke lacks 'this'"; 57 return verifier->GetRegTypeCache()->Conflict(); 61 const RegType& this_type = GetRegisterType(verifier, this_reg); 64 verifier 73 VerifyRegisterTypeWide(MethodVerifier* verifier, uint32_t vsrc, const RegType& check_type1, const RegType& check_type2) argument 97 MarkRefsAsInitialized(MethodVerifier* verifier, const RegType& uninit_type) argument 115 MarkAllRegistersAsConflicts(MethodVerifier* verifier) argument 122 MarkAllRegistersAsConflictsExcept(MethodVerifier* verifier, uint32_t vsrc) argument 131 MarkAllRegistersAsConflictsExceptWide(MethodVerifier* verifier, uint32_t vsrc) argument 156 MarkUninitRefsAsInvalid(MethodVerifier* verifier, const RegType& uninit_type) argument 165 CopyResultRegister1(MethodVerifier* verifier, uint32_t vdst, bool is_reference) argument 182 CopyResultRegister2(MethodVerifier* verifier, uint32_t vdst) argument 196 CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type) argument 203 CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1, const RegType& src_type2) argument 211 CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type) argument 219 CheckUnaryOpFromWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2) argument 227 CheckBinaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument 249 CheckBinaryOpWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1_1, const RegType& src_type1_2, const RegType& src_type2_1, const RegType& src_type2_2) argument 259 CheckBinaryOpWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument 268 CheckBinaryOp2addr(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument 289 CheckBinaryOp2addrWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1_1, const RegType& src_type1_2, const RegType& src_type2_1, const RegType& src_type2_2) argument 301 CheckBinaryOp2addrWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument 312 CheckLiteralOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type, bool check_boolean_op, bool is_lit16) argument 335 PushMonitor(MethodVerifier* verifier, uint32_t reg_idx, int32_t insn_idx) argument 365 PopMonitor(MethodVerifier* verifier, uint32_t reg_idx) argument 428 MergeRegisters(MethodVerifier* verifier, const RegisterLine* incoming_line) argument [all...] |
/art/compiler/dex/ |
H A D | verification_results.h | 33 namespace verifier { namespace in namespace:art 36 } // namespace verifier 47 void ProcessVerifiedMethod(verifier::MethodVerifier* method_verifier) 83 friend class verifier::VerifierDepsTest;
|
H A D | quick_compiler_callbacks.cc | 25 #include "verifier/method_verifier-inl.h" 29 void QuickCompilerCallbacks::MethodVerified(verifier::MethodVerifier* verifier) { argument 31 verification_results_->ProcessVerifiedMethod(verifier); 49 // verifier doesn't currently support.
|
H A D | verified_method.h | 29 namespace verifier { namespace in namespace:art 31 } // namespace verifier 42 static const VerifiedMethod* Create(verifier::MethodVerifier* method_verifier) 51 // by using the check-cast elision peephole optimization in the verifier. 69 void GenerateSafeCastSet(verifier::MethodVerifier* method_verifier)
|
H A D | inline_method_analyser.h | 35 namespace verifier { namespace in namespace:art 37 } // namespace verifier
|
/art/runtime/ |
H A D | compiler_callbacks.h | 34 namespace verifier { namespace in namespace:art 39 } // namespace verifier 50 virtual void MethodVerified(verifier::MethodVerifier* verifier) 58 virtual verifier::VerifierDeps* GetVerifierDeps() const = 0; 59 virtual void SetVerifierDeps(verifier::VerifierDeps* deps ATTRIBUTE_UNUSED) {}
|
/art/libartbase/base/ |
H A D | logging.h | 55 bool verifier; member in struct:art::LogVerbosity
|
/art/compiler/driver/ |
H A D | compiler_driver.h | 55 namespace verifier { namespace in namespace:art 58 } // namespace verifier 548 friend class verifier::VerifierDepsTest;
|
H A D | compiler_options.h | 32 namespace verifier { namespace in namespace:art 34 } // namespace verifier 360 friend class verifier::VerifierDepsTest;
|
/art/compiler/ |
H A D | verifier_deps_test.cc | 18 #include "verifier/verifier_deps.h" 37 #include "verifier/method_verifier-inl.h" 40 namespace verifier { namespace in namespace:art 48 void MethodVerified(verifier::MethodVerifier* verifier ATTRIBUTE_UNUSED) OVERRIDE {} 52 verifier::VerifierDeps* GetVerifierDeps() const OVERRIDE { return deps_; } 53 void SetVerifierDeps(verifier::VerifierDeps* deps) { deps_ = deps; } 56 verifier::VerifierDeps* deps_; 86 void VerifyWithCompilerDriver(verifier::VerifierDeps* deps) { 88 // The compiler driver handles the verifier dep [all...] |