Searched defs:type_idx (Results 1 - 25 of 26) sorted by relevance

12

/art/runtime/mirror/
H A Ddex_cache-inl.h46 inline void DexCache::SetResolvedType(uint32_t type_idx, Class* resolved) { argument
49 GetResolvedTypes()->Set(type_idx, resolved);
H A Dobject_test.cc273 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 Dart_method-inl.h459 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 Dclass.cc791 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 Dclass.h931 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 Dmethod_helper-inl.h46 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 Ddex_instruction.cc174 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 Dclass_linker-inl.h75 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 Dreflection.cc369 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 Dclass_linker_test.cc1019 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 Ddex_file.cc433 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 Ddex_file_verifier.cc76 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 Dutils.cc324 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 Dentrypoint_utils.cc36 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 Dentrypoint_utils-inl.h40 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 Dinterpreter_common.cc674 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 Dmir_to_gbc.cc523 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 Dcodegen_util.cc1232 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 Dgen_common.cc346 * 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 Dgen_invoke.cc1141 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 Dint_x86.cc2623 void X86Mir2Lir::GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, argument
2650 (sizeof(mirror::HeapReference<mirror::Class*>) * type_idx);
H A Dtarget_x86.cc978 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 Dcompiler_driver.cc810 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 Dmethod_verifier.cc1734 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 Dgbc_expander.cc203 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...]

Completed in 1649 milliseconds

12