/art/runtime/mirror/ |
H A D | dex_cache-inl.h | 46 inline void DexCache::SetResolvedType(uint32_t type_idx, Class* resolved) { argument 49 GetResolvedTypes()->Set(type_idx, resolved);
|
H A D | object_test.cc | 280 uint32_t type_idx = java_lang_dex_file_->GetIndexForTypeId(*type_id); local 281 Object* array = CheckAndAllocArrayFromCodeInstrumented(type_idx, sort, 3, Thread::Current(), false,
|
H A D | art_method-inl.h | 470 inline bool ArtMethod::IsResolvedTypeIdx(uint16_t type_idx) { argument 472 return method->GetDexCacheResolvedType(type_idx) != nullptr; 519 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(uint16_t type_idx) { argument 522 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx));
|
H A D | class.h | 951 void SetDexTypeIndex(uint16_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 953 SetField32<false>(OFFSET_OF_OBJECT_MEMBER(Class, dex_type_idx_), type_idx); local
|
H A D | class.cc | 775 uint16_t type_idx = klass->GetDirectInterfaceTypeIdx(idx); local 776 mirror::Class* interface = klass->GetDexCache()->GetResolvedType(type_idx); 778 interface = Runtime::Current()->GetClassLinker()->ResolveType(klass->GetDexFile(), type_idx,
|
/art/runtime/ |
H A D | method_helper-inl.h | 46 inline mirror::Class* MethodHelper::GetClassFromTypeIdx(uint16_t type_idx, bool resolve) { argument 48 mirror::Class* type = method->GetDexCacheResolvedType(type_idx); 50 type = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method);
|
H A D | dex_instruction.cc | 174 uint32_t type_idx = VRegB_21c(); local 175 os << opcode << " v" << static_cast<int>(VRegA_21c()) << ", " << PrettyType(type_idx, *file) 176 << " // type@" << type_idx; 261 uint32_t type_idx = VRegC_22c(); local 263 << PrettyType(type_idx, *file) << " // type@" << type_idx; 268 uint32_t type_idx = VRegC_22c(); local 270 << PrettyType(type_idx, *file) << " // type@" << type_idx;
|
H A D | class_linker-inl.h | 75 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, argument 77 mirror::Class* resolved_type = referrer->GetDexCacheResolvedType(type_idx); 84 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); 91 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, mirror::ArtField* referrer) { argument 94 mirror::Class* resolved_type = dex_cache_ptr->GetResolvedType(type_idx); 100 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader);
|
H A D | reflection.cc | 369 uint16_t type_idx = params->GetTypeItem(i).type_idx_; local 370 mirror::Class* param_type = mh.GetClassFromTypeIdx(type_idx); 374 << h_m->GetTypeDescriptorFromTypeIdx(type_idx) << "\n"
|
H A D | class_linker_test.cc | 999 uint32_t type_idx = dex_file->GetIndexForTypeId(*type_id); local 1000 mirror::Class* uninit = ResolveVerifyAndClinit(type_idx, clinit, Thread::Current(), true, false); 1003 mirror::Class* init = ResolveVerifyAndClinit(type_idx, getS0, Thread::Current(), true, false);
|
H A D | dex_file.cc | 440 uint16_t type_idx = GetIndexForTypeId(*type_id); local 443 if (class_def.class_idx_ == type_idx) { 471 const DexFile::ClassDef* DexFile::FindClassDef(uint16_t type_idx) const { 475 if (class_def.class_idx_ == type_idx) { 488 const uint16_t type_idx = GetIndexForTypeId(type); local 504 if (type_idx > field.type_idx_) { 506 } else if (type_idx < field.type_idx_) { 686 uint16_t type_idx = GetIndexForTypeId(*type_id); local 688 param_type_idxs->push_back(type_idx); 690 *return_type_idx = type_idx; [all...] |
H A D | dex_file_verifier.cc | 76 const char* DexFileVerifier::CheckLoadStringByTypeIdx(uint32_t type_idx, const char* error_string) { argument 77 if (UNLIKELY(!CheckIndex(type_idx, dex_file_->NumTypeIds(), error_string))) { 80 const DexFile::TypeId& type_id = dex_file_->GetTypeId(type_idx); 107 #define LOAD_STRING_BY_TYPE(var, type_idx, error) \ 108 const char* var = CheckLoadStringByTypeIdx(type_idx, error); \ 423 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); local 424 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { 655 if (!CheckIndex(idx, header_->type_ids_size_, "encoded_annotation type_idx")) { 944 uint32_t type_idx local 975 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); local [all...] |
H A D | utils.cc | 324 std::string PrettyType(uint32_t type_idx, const DexFile& dex_file) { argument 325 if (type_idx >= dex_file.NumTypeIds()) { 326 return StringPrintf("<<invalid-type-idx-%d>>", type_idx); 328 const DexFile::TypeId& type_id = dex_file.GetTypeId(type_idx);
|
/art/runtime/entrypoints/ |
H A D | entrypoint_utils.cc | 36 static inline mirror::Class* CheckFilledNewArrayAlloc(uint32_t type_idx, 46 mirror::Class* klass = referrer->GetDexCacheResolvedType<false>(type_idx); 48 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, referrer); 80 mirror::Array* CheckAndAllocArrayFromCode(uint32_t type_idx, mirror::ArtMethod* referrer, argument 84 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self, 98 mirror::Array* CheckAndAllocArrayFromCodeInstrumented(uint32_t type_idx, argument 104 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self,
|
H A D | entrypoint_utils-inl.h | 40 static inline mirror::Class* CheckObjectAlloc(uint32_t type_idx, argument 43 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); 45 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); 123 static inline mirror::Object* AllocObjectFromCode(uint32_t type_idx, argument 128 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path); 176 static inline mirror::Class* CheckArrayAlloc(uint32_t type_idx, argument 185 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); 187 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); 212 static inline mirror::Array* AllocArrayFromCode(uint32_t type_idx, argument 218 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, metho 575 ResolveVerifyAndClinit(uint32_t type_idx, mirror::ArtMethod* referrer, Thread* self, bool can_run_clinit, bool verify_access) argument [all...] |
/art/runtime/interpreter/ |
H A D | interpreter_common.cc | 674 uint16_t type_idx = is_range ? inst->VRegB_3rc() : inst->VRegB_35c(); local 675 Class* arrayClass = ResolveVerifyAndClinit(type_idx, shadow_frame.GetMethod(),
|
/art/compiler/dex/portable/ |
H A D | mir_to_gbc.cc | 523 void MirConverter::ConvertCheckCast(uint32_t type_idx, RegLocation rl_src) { argument 528 args.push_back(irb_->getInt32(type_idx)); 533 void MirConverter::ConvertNewInstance(uint32_t type_idx, RegLocation rl_dest) { argument 537 ::llvm::Value* index = irb_->getInt32(type_idx); 542 void MirConverter::ConvertNewArray(uint32_t type_idx, argument 548 args.push_back(irb_->getInt32(type_idx)); 602 void MirConverter::ConvertInstanceOf(uint32_t type_idx, argument 608 args.push_back(irb_->getInt32(type_idx));
|
/art/compiler/dex/quick/ |
H A D | codegen_util.cc | 1259 void Mir2Lir::LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg) { argument 1261 LIR* data_target = ScanLiteralPool(class_literal_list_, type_idx, 0); 1263 data_target = AddWordData(&class_literal_list_, type_idx);
|
H A D | gen_common.cc | 350 * Array::AllocFromCode(type_idx, method, count); 353 void Mir2Lir::GenNewArray(uint32_t type_idx, RegLocation rl_dest, argument 358 if (cu_->compiler_driver->CanAccessTypeWithoutChecks(cu_->method_idx, *dex_file, type_idx)) { 364 driver->CanEmbedTypeInCode(*dex_file, type_idx, &is_type_initialized, &use_direct_type_ptr, 368 LoadClassType(type_idx, kArg0); 378 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArray, type_idx, rl_src, true); 381 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayWithAccessCheck, type_idx, rl_src, true); 394 int type_idx = info->index; local 398 type_idx)) { 403 CallRuntimeHelperImmMethodImm(target, type_idx, elem 821 GenConstClass(uint32_t type_idx, RegLocation rl_dest) argument 851 SlowPath(Mir2Lir* m2l, LIR* fromfast, LIR* cont, const int type_idx, const RegLocation& rl_method, const RegLocation& rl_result) argument 980 GenNewInstance(uint32_t type_idx, RegLocation rl_dest) argument 1028 GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) argument 1081 GenInstanceofCallingHelper(bool needs_access_check, bool type_known_final, bool type_known_abstract, bool use_declaring_class, bool can_assume_type_is_in_dex_cache, uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) argument 1124 InitTypeSlowPath(Mir2Lir* m2l, LIR* branch, LIR* cont, uint32_t type_idx, RegLocation rl_src) argument 1205 GenInstanceof(uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) argument 1225 GenCheckCast(uint32_t insn_idx, uint32_t type_idx, RegLocation rl_src) argument 1269 SlowPath(Mir2Lir* m2l, LIR* fromfast, LIR* cont, const int type_idx, const RegStorage class_reg) argument [all...] |
H A D | gen_invoke.cc | 1142 uint16_t type_idx = 0; local 1146 type_idx = mirror::Reference::GetJavaLangRefReference()->GetDexTypeIndex(); 1161 if (!cu_->compiler_driver->CanEmbedTypeInCode(*ref_dex_file, type_idx, &unused_type_initialized, 1172 // since the load class is indexed only by the type_idx. We should include which dex file a 1174 LoadClassType(type_idx, kArg1);
|
/art/compiler/dex/quick/x86/ |
H A D | int_x86.cc | 2625 void X86Mir2Lir::GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, argument 2652 (sizeof(mirror::HeapReference<mirror::Class*>) * type_idx);
|
H A D | target_x86.cc | 979 void X86Mir2Lir::LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg) { argument 985 const DexFile::TypeId& id = cu_->dex_file->GetTypeId(type_idx); 991 static_cast<int>(ptr), type_idx);
|
/art/compiler/driver/ |
H A D | compiler_driver.cc | 827 bool CompilerDriver::CanAssumeTypeIsPresentInDexCache(const DexFile& dex_file, uint32_t type_idx) { argument 829 IsImageClass(dex_file.StringDataByIdx(dex_file.GetTypeId(type_idx).descriptor_idx_))) { 833 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 871 uint32_t type_idx, 886 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 893 *equals_referrers_class = (method_id.class_idx_ == type_idx); 919 uint32_t type_idx) { 923 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 945 bool CompilerDriver::CanEmbedTypeInCode(const DexFile& dex_file, uint32_t type_idx, argument 954 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 870 CanAccessTypeWithoutChecks(uint32_t referrer_idx, const DexFile& dex_file, uint32_t type_idx, bool* type_known_final, bool* type_known_abstract, bool* equals_referrers_class) argument 917 CanAccessInstantiableTypeWithoutChecks(uint32_t referrer_idx, const DexFile& dex_file, uint32_t type_idx) argument [all...] |
/art/runtime/verifier/ |
H A D | method_verifier.cc | 1757 const uint32_t type_idx = (is_checkcast) ? inst->VRegB_21c() : inst->VRegC_22c(); local 1758 RegType& res_type = ResolveClassAndCheckAccess(type_idx); 1761 mirror::Class* klass = (*dex_cache_)->GetResolvedType(type_idx); 1764 << dex_file_->StringByTypeIdx(type_idx) << " in instanceof in " 3479 uint32_t type_idx; local 3482 type_idx = inst->VRegC_22c(); 3485 type_idx = inst->VRegB_35c(); 3488 type_idx = inst->VRegB_3rc(); 3490 RegType& res_type = ResolveClassAndCheckAccess(type_idx);
|
/art/compiler/llvm/ |
H A D | gbc_expander.cc | 203 llvm::Value* EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx); 321 llvm::Value* EmitLoadConstantClass(uint32_t dex_pc, uint32_t type_idx); 322 llvm::Value* EmitLoadStaticStorage(uint32_t dex_pc, uint32_t type_idx); 353 uint32_t type_idx, 720 GBCExpanderPass::EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx) { argument 724 llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx); 1016 uint32_t type_idx = local 1020 EmitLoadDexCacheResolvedTypeFieldAddr(type_idx); 1732 uint32_t type_idx) { 1734 *dex_compilation_unit_->GetDexFile(), type_idx)) { 1731 EmitLoadConstantClass(uint32_t dex_pc, uint32_t type_idx) argument 1811 EmitLoadStaticStorage(uint32_t dex_pc, uint32_t type_idx) argument 2116 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0)); local 2155 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0)); local 2209 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0)); local 2280 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0)); local 2342 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0)); local 2350 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(1)); local 2443 EmitAllocNewArray(uint32_t dex_pc, llvm::Value* array_length_value, uint32_t type_idx, bool is_filled_new_array) argument [all...] |