Searched defs:verifier (Results 1 - 25 of 34) sorted by relevance

12

/art/runtime/verifier/
H A Dinstruction_flags.cc22 namespace verifier { namespace in namespace:art
41 } // namespace verifier
H A Dverifier_compiler_binding.h26 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 Dmethod_verifier_test.cc32 namespace verifier { namespace in namespace:art
73 } // namespace verifier
H A Dmethod_verifier-inl.h29 namespace verifier { namespace in namespace:art
82 } // namespace verifier
H A Dreg_type_cache.h37 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 Dreg_type-inl.h29 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 Dinstruction_flags.h26 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 Dreg_type_cache-inl.h30 namespace verifier { namespace in namespace:art
32 inline const art::verifier::RegType& RegTypeCache::GetFromId(uint16_t id) const {
189 } // namespace verifier
H A Dregister_line-inl.h28 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 Dregister_line.h32 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 Dverifier_deps.h44 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 Dverifier_enums.h23 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 Dmethod_verifier.h51 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 Dreg_type.cc39 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 Dreg_type_cache.cc35 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 Dregister_line.cc27 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 Dverification_results.h33 namespace verifier { namespace in namespace:art
36 } // namespace verifier
47 void ProcessVerifiedMethod(verifier::MethodVerifier* method_verifier)
83 friend class verifier::VerifierDepsTest;
H A Dquick_compiler_callbacks.cc25 #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 Dverified_method.h29 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 Dinline_method_analyser.h35 namespace verifier { namespace in namespace:art
37 } // namespace verifier
/art/runtime/
H A Dcompiler_callbacks.h34 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 Dlogging.h55 bool verifier; member in struct:art::LogVerbosity
/art/compiler/driver/
H A Dcompiler_driver.h55 namespace verifier { namespace in namespace:art
58 } // namespace verifier
548 friend class verifier::VerifierDepsTest;
H A Dcompiler_options.h32 namespace verifier { namespace in namespace:art
34 } // namespace verifier
360 friend class verifier::VerifierDepsTest;
/art/compiler/
H A Dverifier_deps_test.cc18 #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...]

Completed in 221 milliseconds

12