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

12

/art/compiler/dex/
H A Dquick_compiler_callbacks.cc20 #include "verifier/method_verifier-inl.h"
25 void QuickCompilerCallbacks::MethodVerified(verifier::MethodVerifier* verifier) { argument
26 verification_results_->ProcessVerifiedMethod(verifier);
27 MethodReference ref = verifier->GetMethodReference();
28 method_inliner_map_->GetMethodInliner(ref.dex_file)->AnalyseMethodCode(verifier);
H A Dverification_results.h32 namespace verifier { namespace in namespace:art
34 } // namespace verifier
45 void ProcessVerifiedMethod(verifier::MethodVerifier* method_verifier)
H A Dverified_method.h29 namespace verifier { namespace in namespace:art
31 } // namespace verifier
46 static const VerifiedMethod* Create(verifier::MethodVerifier* method_verifier, bool compile)
66 // by using the check-cast elision peephole optimization in the verifier.
91 bool GenerateGcMap(verifier::MethodVerifier* method_verifier);
94 static void VerifyGcMap(verifier::MethodVerifier* method_verifier,
98 static void ComputeGcMapSizes(verifier::MethodVerifier* method_verifier,
102 void GenerateDevirtMap(verifier::MethodVerifier* method_verifier)
106 bool GenerateDequickenMap(verifier::MethodVerifier* method_verifier)
110 void GenerateSafeCastSet(verifier
[all...]
/art/runtime/verifier/
H A Dinstruction_flags.cc22 namespace verifier { namespace in namespace:art
41 } // namespace verifier
H A Dverify_mode.h23 namespace verifier { namespace in namespace:art
25 // The mode that the verifier should run as.
32 } // namespace verifier
H A Dmethod_verifier_test.cc28 namespace verifier { namespace in namespace:art
66 } // namespace verifier
H A Dmethod_verifier-inl.h27 namespace verifier { namespace in namespace:art
84 } // namespace verifier
H A Dreg_type_cache.h38 namespace verifier { namespace in namespace:art
58 const art::verifier::RegType& GetFromId(uint16_t id) const;
170 // verifier.
208 } // namespace verifier
H A Dreg_type-inl.h27 namespace verifier { namespace in namespace:art
192 } // namespace verifier
H A Dreg_type_cache-inl.h28 namespace verifier { namespace in namespace:art
30 inline const art::verifier::RegType& RegTypeCache::GetFromId(uint16_t id) const {
133 } // namespace verifier
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 Dregister_line-inl.h26 namespace verifier { namespace in namespace:art
32 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const { argument
35 return verifier->GetRegTypeCache()->GetFromId(line_[vsrc]);
39 inline bool RegisterLine::SetRegisterType(MethodVerifier* verifier, uint32_t vdst, argument
43 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Expected category1 register type not '"
64 inline bool RegisterLine::SetRegisterTypeWide(MethodVerifier* verifier, uint32_t vdst, argument
69 verifier->Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "Invalid wide pair '"
82 inline void RegisterLine::SetResultTypeToUnknown(MethodVerifier* verifier) { argument
83 result_[0] = verifier->GetRegTypeCache()->Undefined().GetId();
87 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, cons argument
101 CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat) argument
118 CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) argument
130 VerifyRegisterType(MethodVerifier* verifier, uint32_t vsrc, const RegType& check_type) argument
181 Create(size_t num_regs, MethodVerifier* verifier) argument
186 RegisterLine(size_t num_regs, MethodVerifier* verifier) argument
[all...]
H A Dregister_line.h30 namespace verifier { namespace in namespace:art
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) SHARED_REQUIRES(Locks::mutator_lock_);
102 ALWAYS_INLINE bool SetRegisterType(MethodVerifier* verifier,
107 bool SetRegisterTypeWide(MethodVerifier* verifier,
114 void SetResultRegisterType(MethodVerifier* verifier, cons
[all...]
H A Dreg_type.cc35 namespace verifier { namespace in namespace:art
919 } // namespace verifier
H A Dreg_type_cache.cc31 namespace verifier { namespace in namespace:art
675 } // namespace verifier
H A Dreg_type_test.cc31 namespace verifier { namespace in namespace:art
667 } // namespace verifier
H A Dmethod_verifier.h44 namespace verifier { namespace in namespace:art
72 * that can potentially be corrected, and the verifier will try again at runtime.
89 // For opcodes that don't have complete verifier support (such as lambda opcodes),
92 // in a special "do access checks" mode which will perform verifier-like checking
95 // TODO: Once all new opcodes have implemented full verifier support, this can be removed.
124 uint16_t registers_size, MethodVerifier* verifier);
136 // The verifier
146 constexpr uint32_t unresolved_mask = verifier::VerifyError::VERIFY_ERROR_NO_CLASS
147 | verifier::VerifyError::VERIFY_ERROR_ACCESS_CLASS
148 | verifier
[all...]
H A Dreg_type.h43 namespace verifier { namespace in namespace:art
932 } // namespace verifier
/art/runtime/
H A Dcompiler_callbacks.h25 namespace verifier { namespace in namespace:art
29 } // namespace verifier
40 virtual void MethodVerified(verifier::MethodVerifier* verifier)
/art/compiler/dex/quick/
H A Ddex_file_method_inliner.h30 namespace verifier { namespace in namespace:art
32 } // namespace verifier
42 * from the verifier and mark them for inlining. Inline these methods early
55 * @param verifier the method verifier holding data about the method to analyse.
58 bool AnalyseMethodCode(verifier::MethodVerifier* verifier)
H A Ddex_file_method_inliner.cc28 #include "verifier/method_verifier-inl.h"
684 bool DexFileMethodInliner::AnalyseMethodCode(verifier::MethodVerifier* verifier) { argument
686 bool success = InlineMethodAnalyser::AnalyseMethodCode(verifier, &method);
687 return success && AddInlineMethod(verifier->GetMethodReference().dex_method_index, method);
/art/runtime/quick/
H A Dinline_method_analyser.h33 namespace verifier { namespace in namespace:art
35 } // namespace verifier
215 * @param verifier the method verifier holding data about the method to analyse.
219 static bool AnalyseMethodCode(verifier::MethodVerifier* verifier, InlineMethod* result)
H A Dinline_method_analyser.cc28 #include "verifier/method_verifier-inl.h"
140 // Used for a single invoke in a constructor. In that situation, the method verifier makes
171 DCHECK_EQ(this_vreg, code_item->registers_size_ - code_item->ins_size_); // Checked by verifier.
434 bool InlineMethodAnalyser::AnalyseMethodCode(verifier::MethodVerifier* verifier, argument
436 DCHECK(verifier != nullptr);
438 DCHECK_EQ(verifier->CanLoadClasses(), result != nullptr);
441 // Note: verifier->GetMethod() may be null.
442 return AnalyseMethodCode(verifier->CodeItem(),
443 verifier
[all...]
/art/runtime/base/
H A Dlogging.h57 bool verifier; member in struct:art::LogVerbosity
/art/compiler/driver/
H A Dcompiler_driver.h51 namespace verifier { namespace in namespace:art
53 } // namespace verifier

Completed in 195 milliseconds

12