/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 | 273 uint32_t type_idx = java_lang_dex_file_->GetIndexForTypeId(*type_id); local 274 Object* array = CheckAndAllocArrayFromCodeInstrumented(type_idx, sort, 3, Thread::Current(), false,
|
H A D | art_method-inl.h | 459 inline bool ArtMethod::IsResolvedTypeIdx(uint16_t type_idx) { argument 461 return method->GetDexCacheResolvedType(type_idx) != nullptr; 508 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(uint16_t type_idx) { argument 511 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx));
|
H A D | class.cc | 791 uint16_t type_idx = klass->GetDirectInterfaceTypeIdx(idx); local 792 mirror::Class* interface = klass->GetDexCache()->GetResolvedType(type_idx); 794 interface = Runtime::Current()->GetClassLinker()->ResolveType(klass->GetDexFile(), type_idx,
|
H A D | class.h | 931 void SetDexTypeIndex(uint16_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 933 SetField32<false>(OFFSET_OF_OBJECT_MEMBER(Class, dex_type_idx_), type_idx); local
|
/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 | 1019 uint32_t type_idx = dex_file->GetIndexForTypeId(*type_id); local 1020 mirror::Class* uninit = ResolveVerifyAndClinit(type_idx, clinit, Thread::Current(), true, false); 1023 mirror::Class* init = ResolveVerifyAndClinit(type_idx, getS0, Thread::Current(), true, false);
|
H A D | dex_file.cc | 433 uint16_t type_idx = GetIndexForTypeId(*type_id); local 436 if (class_def.class_idx_ == type_idx) { 464 const DexFile::ClassDef* DexFile::FindClassDef(uint16_t type_idx) const { 468 if (class_def.class_idx_ == type_idx) { 481 const uint16_t type_idx = GetIndexForTypeId(type); local 497 if (type_idx > field.type_idx_) { 499 } else if (type_idx < field.type_idx_) { 679 uint16_t type_idx = GetIndexForTypeId(*type_id); local 681 param_type_idxs->push_back(type_idx); 683 *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 569 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 | 1232 void Mir2Lir::LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg) { argument 1234 LIR* data_target = ScanLiteralPool(class_literal_list_, type_idx, 0); 1236 data_target = AddWordData(&class_literal_list_, type_idx);
|
H A D | gen_common.cc | 346 * Array::AllocFromCode(type_idx, method, count); 349 void Mir2Lir::GenNewArray(uint32_t type_idx, RegLocation rl_dest, argument 354 if (cu_->compiler_driver->CanAccessTypeWithoutChecks(cu_->method_idx, *dex_file, type_idx)) { 360 driver->CanEmbedTypeInCode(*dex_file, type_idx, &is_type_initialized, &use_direct_type_ptr, 364 LoadClassType(type_idx, kArg0); 374 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArray, type_idx, rl_src, true); 377 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayWithAccessCheck, type_idx, rl_src, true); 390 int type_idx = info->index; local 394 type_idx)) { 399 CallRuntimeHelperImmMethodImm(target, type_idx, elem 817 GenConstClass(uint32_t type_idx, RegLocation rl_dest) argument 847 SlowPath(Mir2Lir* m2l, LIR* fromfast, LIR* cont, const int type_idx, const RegLocation& rl_method, const RegLocation& rl_result) argument 947 GenNewInstance(uint32_t type_idx, RegLocation rl_dest) argument 995 GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) argument 1048 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 1091 InitTypeSlowPath(Mir2Lir* m2l, LIR* branch, LIR* cont, uint32_t type_idx, RegLocation rl_src) argument 1172 GenInstanceof(uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) argument 1192 GenCheckCast(uint32_t insn_idx, uint32_t type_idx, RegLocation rl_src) argument 1236 SlowPath(Mir2Lir* m2l, LIR* fromfast, LIR* cont, const int type_idx, const RegStorage class_reg) argument [all...] |
H A D | gen_invoke.cc | 1141 uint16_t type_idx = 0; local 1145 type_idx = mirror::Reference::GetJavaLangRefReference()->GetDexTypeIndex(); 1160 if (!cu_->compiler_driver->CanEmbedTypeInCode(*ref_dex_file, type_idx, &unused_type_initialized, 1171 // since the load class is indexed only by the type_idx. We should include which dex file a 1173 LoadClassType(type_idx, kArg1);
|
/art/compiler/dex/quick/x86/ |
H A D | int_x86.cc | 2623 void X86Mir2Lir::GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, argument 2650 (sizeof(mirror::HeapReference<mirror::Class*>) * type_idx);
|
H A D | target_x86.cc | 978 void X86Mir2Lir::LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg) { argument 984 const DexFile::TypeId& id = cu_->dex_file->GetTypeId(type_idx); 990 static_cast<int>(ptr), type_idx);
|
/art/compiler/driver/ |
H A D | compiler_driver.cc | 810 bool CompilerDriver::CanAssumeTypeIsPresentInDexCache(const DexFile& dex_file, uint32_t type_idx) { argument 812 IsImageClass(dex_file.StringDataByIdx(dex_file.GetTypeId(type_idx).descriptor_idx_))) { 816 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 854 uint32_t type_idx, 869 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 876 *equals_referrers_class = (method_id.class_idx_ == type_idx); 902 uint32_t type_idx) { 906 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 928 bool CompilerDriver::CanEmbedTypeInCode(const DexFile& dex_file, uint32_t type_idx, argument 933 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); 853 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 900 CanAccessInstantiableTypeWithoutChecks(uint32_t referrer_idx, const DexFile& dex_file, uint32_t type_idx) argument [all...] |
/art/runtime/verifier/ |
H A D | method_verifier.cc | 1734 const uint32_t type_idx = (is_checkcast) ? inst->VRegB_21c() : inst->VRegC_22c(); local 1735 RegType& res_type = ResolveClassAndCheckAccess(type_idx); 1738 mirror::Class* klass = (*dex_cache_)->GetResolvedType(type_idx); 1741 << dex_file_->StringByTypeIdx(type_idx) << " in instanceof in " 3417 uint32_t type_idx; local 3420 type_idx = inst->VRegC_22c(); 3423 type_idx = inst->VRegB_35c(); 3426 type_idx = inst->VRegB_3rc(); 3428 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...] |