/art/compiler/dex/ |
H A D | quick_compiler_callbacks.cc | 20 #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 D | verification_results.h | 32 namespace verifier { namespace in namespace:art 34 } // namespace verifier 45 void ProcessVerifiedMethod(verifier::MethodVerifier* method_verifier)
|
H A D | verified_method.h | 29 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 D | instruction_flags.cc | 22 namespace verifier { namespace in namespace:art 41 } // namespace verifier
|
H A D | verify_mode.h | 23 namespace verifier { namespace in namespace:art 25 // The mode that the verifier should run as. 32 } // namespace verifier
|
H A D | method_verifier_test.cc | 28 namespace verifier { namespace in namespace:art 66 } // namespace verifier
|
H A D | method_verifier-inl.h | 27 namespace verifier { namespace in namespace:art 84 } // namespace verifier
|
H A D | reg_type_cache.h | 38 namespace verifier { namespace in namespace:art 58 const art::verifier::RegType& GetFromId(uint16_t id) const; 170 // verifier. 208 } // namespace verifier
|
H A D | reg_type-inl.h | 27 namespace verifier { namespace in namespace:art 192 } // namespace verifier
|
H A D | reg_type_cache-inl.h | 28 namespace verifier { namespace in namespace:art 30 inline const art::verifier::RegType& RegTypeCache::GetFromId(uint16_t id) const { 133 } // namespace verifier
|
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 | register_line-inl.h | 26 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 D | register_line.h | 30 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 D | reg_type.cc | 35 namespace verifier { namespace in namespace:art 919 } // namespace verifier
|
H A D | reg_type_cache.cc | 31 namespace verifier { namespace in namespace:art 675 } // namespace verifier
|
H A D | reg_type_test.cc | 31 namespace verifier { namespace in namespace:art 667 } // namespace verifier
|
H A D | method_verifier.h | 44 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 D | reg_type.h | 43 namespace verifier { namespace in namespace:art 932 } // namespace verifier
|
/art/runtime/ |
H A D | compiler_callbacks.h | 25 namespace verifier { namespace in namespace:art 29 } // namespace verifier 40 virtual void MethodVerified(verifier::MethodVerifier* verifier)
|
/art/compiler/dex/quick/ |
H A D | dex_file_method_inliner.h | 30 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 D | dex_file_method_inliner.cc | 28 #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 D | inline_method_analyser.h | 33 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 D | inline_method_analyser.cc | 28 #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 D | logging.h | 57 bool verifier; member in struct:art::LogVerbosity
|
/art/compiler/driver/ |
H A D | compiler_driver.h | 51 namespace verifier { namespace in namespace:art 53 } // namespace verifier
|