/art/runtime/verifier/ |
D | register_line.h | 33 class RegType; variable 104 const RegType& new_type) 109 const RegType& new_type1, 110 const RegType& new_type2) 114 void SetResultRegisterType(MethodVerifier* verifier, const RegType& new_type) 117 void SetResultRegisterTypeWide(const RegType& new_type1, const RegType& new_type2) 121 const RegType& GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const; 125 const RegType& check_type) 130 const RegType& check_type1, 131 const RegType& check_type2) [all …]
|
D | reg_type_test.cc | 41 const RegType& ref_type_const_0 = cache.FromCat1Const(10, true); in TEST_F() 42 const RegType& ref_type_const_1 = cache.FromCat1Const(10, true); in TEST_F() 43 const RegType& ref_type_const_2 = cache.FromCat1Const(30, true); in TEST_F() 44 const RegType& ref_type_const_3 = cache.FromCat1Const(30, false); in TEST_F() 49 const RegType& ref_type_const_wide_0 = cache.FromCat2ConstHi(50, true); in TEST_F() 50 const RegType& ref_type_const_wide_1 = cache.FromCat2ConstHi(50, true); in TEST_F() 53 const RegType& ref_type_const_wide_2 = cache.FromCat2ConstLo(50, true); in TEST_F() 54 const RegType& ref_type_const_wide_3 = cache.FromCat2ConstLo(50, true); in TEST_F() 55 const RegType& ref_type_const_wide_4 = cache.FromCat2ConstLo(55, true); in TEST_F() 66 const RegType& precise_lo = cache.FromCat2ConstLo(static_cast<int32_t>(val), true); in TEST_F() [all …]
|
D | register_line.cc | 32 const RegType& type = GetRegisterType(verifier, i); in CheckConstructorReturn() 47 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, in GetInvocationThis() 58 const RegType& this_type = GetRegisterType(verifier, this_reg); in GetInvocationThis() 71 const RegType& check_type1, in VerifyRegisterTypeWide() 72 const RegType& check_type2) { in VerifyRegisterTypeWide() 75 const RegType& src_type = GetRegisterType(verifier, vsrc); in VerifyRegisterTypeWide() 81 const RegType& src_type_h = GetRegisterType(verifier, vsrc + 1); in VerifyRegisterTypeWide() 94 void RegisterLine::MarkRefsAsInitialized(MethodVerifier* verifier, const RegType& uninit_type) { in MarkRefsAsInitialized() 96 const RegType& init_type = verifier->GetRegTypeCache()->FromUninitialized(uninit_type); in MarkRefsAsInitialized() 153 void RegisterLine::MarkUninitRefsAsInvalid(MethodVerifier* verifier, const RegType& uninit_type) { in MarkUninitRefsAsInvalid() [all …]
|
D | reg_type_cache.h | 40 class RegType; variable 58 const art::verifier::RegType& GetFromId(uint16_t id) const; 59 const RegType& From(mirror::ClassLoader* loader, const char* descriptor, bool precise) 62 const RegType* FindClass(mirror::Class* klass, bool precise) const 65 const RegType* InsertClass(const StringPiece& descriptor, mirror::Class* klass, bool precise) 68 const RegType& FromClass(const char* descriptor, mirror::Class* klass, bool precise) 76 const RegType& FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, bool precise) 78 const RegType& FromUnresolvedMerge(const RegType& left, const RegType& right) 80 const RegType& FromUnresolvedSuperClass(const RegType& child) 130 const RegType& JavaLangThrowable(bool precise) SHARED_REQUIRES(Locks::mutator_lock_); [all …]
|
D | reg_type-inl.h | 29 inline bool RegType::CanAccess(const RegType& other) const { in CanAccess() 45 inline bool RegType::CanAccessMember(mirror::Class* klass, uint32_t access_flags) const { in CanAccessMember() 56 inline bool RegType::IsConstantBoolean() const { in IsConstantBoolean() 65 inline bool RegType::AssignableFrom(const RegType& lhs, const RegType& rhs, bool strict) { in AssignableFrom() 119 inline bool RegType::IsAssignableFrom(const RegType& src) const { in IsAssignableFrom() 123 inline bool RegType::IsStrictlyAssignableFrom(const RegType& src) const { in IsStrictlyAssignableFrom() 188 inline void* RegType::operator new(size_t size, ScopedArenaAllocator* arena) { in new()
|
D | reg_type_cache.cc | 38 ALWAYS_INLINE static inline bool MatchingPrecisionForClass(const RegType* entry, bool precise) in MatchingPrecisionForClass() 74 const RegType& RegTypeCache::FromDescriptor(mirror::ClassLoader* loader, in FromDescriptor() 107 const RegType& RegTypeCache::RegTypeFromPrimitiveType(Primitive::Type prim_type) const { in RegTypeFromPrimitiveType() 133 const RegType* entry = entries_[idx]; in MatchDescriptor() 173 const RegType& RegTypeCache::From(mirror::ClassLoader* loader, in From() 196 RegType* entry; in From() 226 const RegType* RegTypeCache::FindClass(mirror::Class* klass, bool precise) const { in FindClass() 236 const RegType* reg_type = pair.second; in FindClass() 245 const RegType* RegTypeCache::InsertClass(const StringPiece& descriptor, in InsertClass() 250 RegType* const reg_type = precise in InsertClass() [all …]
|
D | register_line-inl.h | 32 inline const RegType& RegisterLine::GetRegisterType(MethodVerifier* verifier, uint32_t vsrc) const { in GetRegisterType() 40 const RegType& new_type) { in SetRegisterType() 65 const RegType& new_type1, in SetRegisterTypeWide() 66 const RegType& new_type2) { in SetRegisterTypeWide() 87 inline void RegisterLine::SetResultRegisterType(MethodVerifier* verifier, const RegType& new_type) { in SetResultRegisterType() 94 inline void RegisterLine::SetResultRegisterTypeWide(const RegType& new_type1, in SetResultRegisterTypeWide() 95 const RegType& new_type2) { in SetResultRegisterTypeWide() 104 const RegType& type = GetRegisterType(verifier, vsrc); in CopyRegister1() 119 const RegType& type_l = GetRegisterType(verifier, vsrc); in CopyRegister2() 120 const RegType& type_h = GetRegisterType(verifier, vsrc + 1); in CopyRegister2() [all …]
|
D | reg_type_cache-inl.h | 30 inline const art::verifier::RegType& RegTypeCache::GetFromId(uint16_t id) const { in GetFromId() 32 const RegType* result = entries_[id]; in GetFromId() 84 const RegType* result = &FromClass("Ljava/lang/Class;", mirror::Class::GetJavaLangClass(), true); in JavaLangClass() 91 const RegType* result = &FromClass("Ljava/lang/String;", mirror::String::GetJavaLangString(), in JavaLangString() 97 inline const RegType& RegTypeCache::JavaLangThrowable(bool precise) { in JavaLangThrowable() 98 const RegType* result = &FromClass("Ljava/lang/Throwable;", in JavaLangThrowable() 109 inline const RegType& RegTypeCache::JavaLangObject(bool precise) { in JavaLangObject() 110 const RegType* result = &FromClass("Ljava/lang/Object;", in JavaLangObject()
|
D | reg_type.h | 49 class RegType { 108 inline bool CheckWidePair(const RegType& type_h) const { in CheckWidePair() 120 const RegType& HighHalf(RegTypeCache* cache) const 194 const RegType& GetSuperClass(RegTypeCache* cache) const 201 bool CanAccess(const RegType& other) const 212 bool IsAssignableFrom(const RegType& src) const 222 bool CanAssignArray(const RegType& src, RegTypeCache& reg_types, 229 bool IsStrictlyAssignableFrom(const RegType& src) const 233 bool Equals(const RegType& other) const { return GetId() == other.GetId(); } in Equals() 237 const RegType& Merge(const RegType& incoming_type, RegTypeCache* reg_types) const [all …]
|
D | reg_type.cc | 51 : RegType(klass, descriptor, cache_id) { in PrimitiveType() 303 : RegType(klass, descriptor, cache_id) { in PreciseReferenceType() 450 const RegType& RegType::HighHalf(RegTypeCache* cache) const { in HighHalf() 463 Primitive::Type RegType::GetPrimitiveType() const { in GetPrimitiveType() 498 const RegType& RegType::GetSuperClass(RegTypeCache* cache) const { in GetSuperClass() 520 bool RegType::IsJavaLangObject() const SHARED_REQUIRES(Locks::mutator_lock_) { in IsJavaLangObject() 524 bool RegType::IsObjectArrayTypes() const SHARED_REQUIRES(Locks::mutator_lock_) { in IsObjectArrayTypes() 545 bool RegType::IsArrayTypes() const SHARED_REQUIRES(Locks::mutator_lock_) { in IsArrayTypes() 562 bool RegType::IsJavaLangObjectArray() const { in IsJavaLangObjectArray() 570 bool RegType::IsInstantiableTypes() const { in IsInstantiableTypes() [all …]
|
D | method_verifier.h | 49 class RegType; variable 261 const RegType& ResolveCheckedClass(uint32_t class_idx) 587 void VerifyPrimitivePut(const RegType& target_type, const RegType& insn_type, 594 void VerifyAGet(const Instruction* inst, const RegType& insn_type, 598 void VerifyAPut(const Instruction* inst, const RegType& insn_type, 602 ArtField* GetInstanceField(const RegType& obj_type, int field_idx) 614 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type, 619 void VerifyQuickFieldAccess(const Instruction* inst, const RegType& insn_type, bool is_primitive) 624 const RegType& ResolveClassAndCheckAccess(uint32_t class_idx) 632 const RegType& GetCaughtExceptionType() [all …]
|
D | method_verifier.cc | 1668 const RegType& declaring_class = GetDeclaringClass(); in SetTypesFromSignature() 1708 const RegType& reg_type = ResolveClassAndCheckAccess(iterator.GetTypeIdx()); in SetTypesFromSignature() 1742 const RegType* lo_half; in SetTypesFromSignature() 1743 const RegType* hi_half; in SetTypesFromSignature() 2101 const RegType& res_type = GetCaughtExceptionType(); in CodeFlowVerifyInstruction() 2115 const RegType& return_type = GetMethodReturnType(); in CodeFlowVerifyInstruction() 2123 const RegType& src_type = work_line_->GetRegisterType(this, vregA); in CodeFlowVerifyInstruction() 2140 const RegType& return_type = GetMethodReturnType(); in CodeFlowVerifyInstruction() 2155 const RegType& return_type = GetMethodReturnType(); in CodeFlowVerifyInstruction() 2163 const RegType& reg_type = work_line_->GetRegisterType(this, vregA); in CodeFlowVerifyInstruction() [all …]
|
D | method_verifier-inl.h | 77 inline const RegType& MethodVerifier::ResolveCheckedClass(uint32_t class_idx) { in ResolveCheckedClass() 79 const RegType& result = ResolveClassAndCheckAccess(class_idx); in ResolveCheckedClass()
|
/art/compiler/dex/ |
D | verified_method.cc | 154 const verifier::RegType& in GenerateDevirtMap() 229 const verifier::RegType& reg_type(line->GetRegisterType(method_verifier, in GenerateSafeCastSet() 231 const verifier::RegType& cast_type = in GenerateSafeCastSet() 235 const verifier::RegType& array_type(line->GetRegisterType(method_verifier, in GenerateSafeCastSet() 241 const verifier::RegType& value_type(line->GetRegisterType(method_verifier, in GenerateSafeCastSet() 243 const verifier::RegType& component_type = method_verifier->GetRegTypeCache() in GenerateSafeCastSet()
|
/art/compiler/utils/ |
D | assembler_test.h | 243 template <typename RegType, typename ImmType> 244 std::string RepeatTemplatedRegisterImmBits(void (Ass::*f)(RegType, ImmType), in RepeatTemplatedRegisterImmBits() argument 247 std::string (AssemblerTest::*GetName)(const RegType&), in RepeatTemplatedRegisterImmBits() argument 622 template <typename RegType> 623 std::string RepeatTemplatedRegister(void (Ass::*f)(RegType), in RepeatTemplatedRegister() argument 624 const std::vector<RegType*> registers, in RepeatTemplatedRegister() 625 std::string (AssemblerTest::*GetName)(const RegType&), in RepeatTemplatedRegister() argument
|