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

12

/art/runtime/verifier/
H A Dinstruction_flags.cc22 namespace verifier { namespace in namespace:art
41 } // namespace verifier
H A Dmethod_verifier_test.cc28 namespace verifier { namespace in namespace:art
61 } // namespace verifier
H A Ddex_gc_map.cc17 #include "verifier/dex_gc_map.h"
22 namespace verifier { namespace in namespace:art
55 } // namespace verifier
H A Dreg_type_cache.h37 namespace verifier { namespace in namespace:art
54 const art::verifier::RegType& GetFromId(uint16_t id) const;
184 } // namespace verifier
H A Dmethod_verifier-inl.h27 namespace verifier { namespace in namespace:art
76 } // namespace verifier
H A Dreg_type-inl.h26 namespace verifier { namespace in namespace:art
183 } // 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 {
121 } // namespace verifier
H A Ddex_gc_map.h26 namespace verifier { namespace in namespace:art
119 } // namespace verifier
H A Dregister_line-inl.h26 namespace verifier { namespace in namespace:art
28 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const { argument
31 return verifier->GetRegTypeCache()->GetFromId(line_[vsrc]);
34 inline bool RegisterLine::SetRegisterType(MethodVerifier* verifier, uint32_t vdst, argument
38 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Expected category1 register type not '"
51 inline bool RegisterLine::SetRegisterTypeWide(MethodVerifier* verifier, uint32_t vdst, argument
56 verifier->Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "Invalid wide pair '"
69 inline void RegisterLine::SetResultTypeToUnknown(MethodVerifier* verifier) { argument
70 result_[0] = verifier->GetRegTypeCache()->Undefined().GetId();
74 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, cons argument
88 CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat) argument
105 CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc) argument
117 GetMaxNonZeroReferenceReg(MethodVerifier* verifier, size_t max_ref_reg) const 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 Dregister_line.h29 namespace verifier { namespace in namespace:art
55 static RegisterLine* Create(size_t num_regs, MethodVerifier* verifier) { argument
57 RegisterLine* rl = new (memory) RegisterLine(num_regs, verifier);
62 void CopyRegister1(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc, TypeCategory cat)
67 void CopyRegister2(MethodVerifier* verifier, uint32_t vdst, uint32_t vsrc)
72 void CopyResultRegister1(MethodVerifier* verifier, uint32_t vdst, bool is_reference)
77 void CopyResultRegister2(MethodVerifier* verifier, uint32_t vdst)
81 void SetResultTypeToUnknown(MethodVerifier* verifier) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
86 ALWAYS_INLINE bool SetRegisterType(MethodVerifier* verifier, uint32_t vdst,
90 bool SetRegisterTypeWide(MethodVerifier* verifier, uint32_
353 RegisterLine(size_t num_regs, MethodVerifier* verifier) argument
[all...]
H A Dreg_type.cc34 namespace verifier { namespace in namespace:art
861 } // namespace verifier
H A Dreg_type_cache.cc27 namespace verifier { namespace in namespace:art
322 Allocator::GetMallocAllocator()); // TODO: Arenas in the verifier.
617 } // namespace verifier
H A Dreg_type_test.cc30 namespace verifier { namespace in namespace:art
638 } // namespace verifier
H A Dregister_line.cc26 namespace verifier { namespace in namespace:art
28 bool RegisterLine::CheckConstructorReturn(MethodVerifier* verifier) const {
32 const RegType& type = GetRegisterType(verifier, i);
36 << PrettyMethod(verifier->GetMethodReference().dex_method_index,
37 *verifier->GetMethodReference().dex_file);
41 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD)
47 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, argument
52 verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "invoke lacks 'this'";
54 return verifier->GetRegTypeCache()->Conflict();
58 const RegType& this_type = GetRegisterType(verifier, this_re
70 VerifyRegisterTypeWide(MethodVerifier* verifier, uint32_t vsrc, const RegType& check_type1, const RegType& check_type2) argument
94 MarkRefsAsInitialized(MethodVerifier* verifier, const RegType& uninit_type, uint32_t this_reg, uint32_t dex_pc) argument
123 MarkAllRegistersAsConflicts(MethodVerifier* verifier) argument
130 MarkAllRegistersAsConflictsExcept(MethodVerifier* verifier, uint32_t vsrc) argument
139 MarkAllRegistersAsConflictsExceptWide(MethodVerifier* verifier, uint32_t vsrc) argument
161 MarkUninitRefsAsInvalid(MethodVerifier* verifier, const RegType& uninit_type) argument
170 CopyResultRegister1(MethodVerifier* verifier, uint32_t vdst, bool is_reference) argument
187 CopyResultRegister2(MethodVerifier* verifier, uint32_t vdst) argument
201 CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type) argument
208 CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1, const RegType& src_type2) argument
216 CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type) argument
224 CheckUnaryOpFromWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2) argument
232 CheckBinaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument
252 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
262 CheckBinaryOpWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument
271 CheckBinaryOp2addr(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument
290 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
302 CheckBinaryOp2addrWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument
313 CheckLiteralOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type, bool check_boolean_op, bool is_lit16) argument
332 PushMonitor(MethodVerifier* verifier, uint32_t reg_idx, int32_t insn_idx) argument
350 PopMonitor(MethodVerifier* verifier, uint32_t reg_idx) argument
372 MergeRegisters(MethodVerifier* verifier, const RegisterLine* incoming_line) argument
412 WriteReferenceBitMap(MethodVerifier* verifier, std::vector<uint8_t>* data, size_t max_bytes) argument
[all...]
/art/compiler/dex/
H A Dquick_compiler_callbacks.cc20 #include "verifier/method_verifier-inl.h"
25 bool QuickCompilerCallbacks::MethodVerified(verifier::MethodVerifier* verifier) { argument
26 bool result = verification_results_->ProcessVerifiedMethod(verifier);
28 MethodReference ref = verifier->GetMethodReference();
30 ->AnalyseMethodCode(verifier);
H A Dverification_results.h32 namespace verifier { namespace in namespace:art
34 } // namespace verifier
45 bool 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)
70 // by using the check-cast elision peephole optimization in the verifier.
98 bool GenerateGcMap(verifier::MethodVerifier* method_verifier);
101 static void VerifyGcMap(verifier::MethodVerifier* method_verifier,
105 static void ComputeGcMapSizes(verifier::MethodVerifier* method_verifier,
109 void GenerateDevirtMap(verifier::MethodVerifier* method_verifier)
113 bool GenerateDequickenMap(verifier::MethodVerifier* method_verifier)
117 void GenerateSafeCastSet(verifier
[all...]
/art/runtime/
H A Dcompiler_callbacks.h25 namespace verifier { namespace in namespace:art
29 } // namespace verifier
40 virtual bool MethodVerified(verifier::MethodVerifier* verifier)
/art/compiler/dex/quick/
H A Ddex_file_method_inliner.h30 namespace verifier { namespace in namespace:art
32 } // namespace verifier
48 * from the verifier and mark them for inlining. Inline these methods early
61 * @param verifier the method verifier holding data about the method to analyse.
64 bool AnalyseMethodCode(verifier::MethodVerifier* verifier)
H A Ddex_file_method_inliner.cc30 #include "verifier/method_verifier-inl.h"
500 bool DexFileMethodInliner::AnalyseMethodCode(verifier::MethodVerifier* verifier) { argument
502 bool success = InlineMethodAnalyser::AnalyseMethodCode(verifier, &method);
503 return success && AddInlineMethod(verifier->GetMethodReference().dex_method_index, method);
/art/runtime/quick/
H A Dinline_method_analyser.cc27 #include "verifier/method_verifier-inl.h"
73 bool InlineMethodAnalyser::AnalyseMethodCode(verifier::MethodVerifier* verifier, argument
75 DCHECK(verifier != nullptr);
78 DCHECK_EQ(verifier->CanLoadClasses(), method != nullptr);
82 const DexFile::CodeItem* code_item = verifier->CodeItem();
116 return AnalyseIGetMethod(verifier, method);
128 return AnalyseIPutMethod(verifier, method);
198 bool InlineMethodAnalyser::AnalyseIGetMethod(verifier::MethodVerifier* verifier, argument
261 AnalyseIPutMethod(verifier::MethodVerifier* verifier, InlineMethod* result) argument
328 ComputeSpecialAccessorInfo(uint32_t field_idx, bool is_put, verifier::MethodVerifier* verifier, InlineIGetIPutData* result) argument
[all...]
H A Dinline_method_analyser.h33 namespace verifier { namespace in namespace:art
35 } // namespace verifier
155 * @param verifier the method verifier holding data about the method to analyse.
159 static bool AnalyseMethodCode(verifier::MethodVerifier* verifier, InlineMethod* method)
184 static bool AnalyseIGetMethod(verifier::MethodVerifier* verifier, InlineMethod* result)
186 static bool AnalyseIPutMethod(verifier::MethodVerifier* verifier, InlineMetho
[all...]
/art/runtime/base/
H A Dlogging.h54 bool verifier; member in struct:art::LogVerbosity
/art/compiler/driver/
H A Dcompiler_driver.h52 namespace verifier { namespace in namespace:art
54 } // namespace verifier

Completed in 880 milliseconds

12