Home
last modified time | relevance | path

Searched refs:type_idx (Results 1 – 25 of 46) sorted by relevance

12

/art/runtime/entrypoints/portable/
Dportable_alloc_entrypoints.cc26 extern "C" mirror::Object* art_portable_alloc_object_from_code(uint32_t type_idx, in art_portable_alloc_object_from_code() argument
30 return AllocObjectFromCode<false, true>(type_idx, referrer, thread, kPortableAllocatorType); in art_portable_alloc_object_from_code()
33 extern "C" mirror::Object* art_portable_alloc_object_from_code_with_access_check(uint32_t type_idx, in art_portable_alloc_object_from_code_with_access_check() argument
37 return AllocObjectFromCode<true, true>(type_idx, referrer, thread, kPortableAllocatorType); in art_portable_alloc_object_from_code_with_access_check()
40 extern "C" mirror::Object* art_portable_alloc_array_from_code(uint32_t type_idx, in art_portable_alloc_array_from_code() argument
45 return AllocArrayFromCode<false, true>(type_idx, referrer, length, self, in art_portable_alloc_array_from_code()
49 extern "C" mirror::Object* art_portable_alloc_array_from_code_with_access_check(uint32_t type_idx, in art_portable_alloc_array_from_code_with_access_check() argument
54 return AllocArrayFromCode<true, true>(type_idx, referrer, length, self, in art_portable_alloc_array_from_code_with_access_check()
58 extern "C" mirror::Object* art_portable_check_and_alloc_array_from_code(uint32_t type_idx, in art_portable_check_and_alloc_array_from_code() argument
63 return CheckAndAllocArrayFromCodeInstrumented(type_idx, referrer, length, thread, false, in art_portable_check_and_alloc_array_from_code()
[all …]
Dportable_dexcache_entrypoints.cc24 extern "C" mirror::Object* art_portable_initialize_static_storage_from_code(uint32_t type_idx, in art_portable_initialize_static_storage_from_code() argument
28 return ResolveVerifyAndClinit(type_idx, referrer, thread, true, false); in art_portable_initialize_static_storage_from_code()
31 extern "C" mirror::Object* art_portable_initialize_type_from_code(uint32_t type_idx, in art_portable_initialize_type_from_code() argument
35 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, false); in art_portable_initialize_type_from_code()
38 …ern "C" mirror::Object* art_portable_initialize_type_and_verify_access_from_code(uint32_t type_idx, in art_portable_initialize_type_and_verify_access_from_code() argument
44 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, true); in art_portable_initialize_type_and_verify_access_from_code()
/art/runtime/entrypoints/quick/
Dquick_alloc_entrypoints.cc30 uint32_t type_idx, mirror::ArtMethod* method, Thread* self, \
34 return AllocObjectFromCode<false, instrumented_bool>(type_idx, method, self, allocator_type); \
51 uint32_t type_idx, mirror::ArtMethod* method, Thread* self, \
55 return AllocObjectFromCode<true, instrumented_bool>(type_idx, method, self, allocator_type); \
58 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \
62 return AllocArrayFromCode<false, instrumented_bool>(type_idx, method, component_count, self, \
74 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \
78 return AllocArrayFromCode<true, instrumented_bool>(type_idx, method, component_count, self, \
82 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \
87 …return CheckAndAllocArrayFromCode(type_idx, method, component_count, self, false, allocator_type);…
[all …]
Dquick_dexcache_entrypoints.cc28 extern "C" mirror::Class* artInitializeStaticStorageFromCode(uint32_t type_idx, in artInitializeStaticStorageFromCode() argument
37 return ResolveVerifyAndClinit(type_idx, referrer, self, true, false); in artInitializeStaticStorageFromCode()
40 extern "C" mirror::Class* artInitializeTypeFromCode(uint32_t type_idx, in artInitializeTypeFromCode() argument
47 return ResolveVerifyAndClinit(type_idx, referrer, self, false, false); in artInitializeTypeFromCode()
50 extern "C" mirror::Class* artInitializeTypeAndVerifyAccessFromCode(uint32_t type_idx, in artInitializeTypeAndVerifyAccessFromCode() argument
57 return ResolveVerifyAndClinit(type_idx, referrer, self, false, true); in artInitializeTypeAndVerifyAccessFromCode()
/art/runtime/entrypoints/
Dentrypoint_utils.h44 ALWAYS_INLINE static inline mirror::Class* CheckObjectAlloc(uint32_t type_idx,
59 ALWAYS_INLINE static inline mirror::Object* AllocObjectFromCode(uint32_t type_idx,
83 ALWAYS_INLINE static inline mirror::Class* CheckArrayAlloc(uint32_t type_idx,
94 ALWAYS_INLINE static inline mirror::Array* AllocArrayFromCode(uint32_t type_idx,
109 extern mirror::Array* CheckAndAllocArrayFromCode(uint32_t type_idx, mirror::ArtMethod* method,
115 extern mirror::Array* CheckAndAllocArrayFromCodeInstrumented(uint32_t type_idx,
158 static inline mirror::Class* ResolveVerifyAndClinit(uint32_t type_idx,
Dentrypoint_utils.cc36 static inline mirror::Class* CheckFilledNewArrayAlloc(uint32_t type_idx, in CheckFilledNewArrayAlloc() argument
46 mirror::Class* klass = referrer->GetDexCacheResolvedType<false>(type_idx); in CheckFilledNewArrayAlloc()
48 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, referrer); in CheckFilledNewArrayAlloc()
80 mirror::Array* CheckAndAllocArrayFromCode(uint32_t type_idx, mirror::ArtMethod* referrer, in CheckAndAllocArrayFromCode() argument
84 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self, in CheckAndAllocArrayFromCode()
98 mirror::Array* CheckAndAllocArrayFromCodeInstrumented(uint32_t type_idx, in CheckAndAllocArrayFromCodeInstrumented() argument
104 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self, in CheckAndAllocArrayFromCodeInstrumented()
Dentrypoint_utils-inl.h40 static inline mirror::Class* CheckObjectAlloc(uint32_t type_idx, in CheckObjectAlloc() argument
43 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckObjectAlloc()
45 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckObjectAlloc()
123 static inline mirror::Object* AllocObjectFromCode(uint32_t type_idx, in AllocObjectFromCode() argument
128 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path); in AllocObjectFromCode()
176 static inline mirror::Class* CheckArrayAlloc(uint32_t type_idx, in CheckArrayAlloc() argument
185 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckArrayAlloc()
187 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckArrayAlloc()
212 static inline mirror::Array* AllocArrayFromCode(uint32_t type_idx, in AllocArrayFromCode() argument
218 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, method, component_count, in AllocArrayFromCode()
[all …]
/art/runtime/
Ddex_instruction.cc174 uint32_t type_idx = VRegB_21c(); in DumpString() local
175 … os << opcode << " v" << static_cast<int>(VRegA_21c()) << ", " << PrettyType(type_idx, *file) in DumpString()
176 << " // type@" << type_idx; in DumpString()
261 uint32_t type_idx = VRegC_22c(); in DumpString() local
263 << PrettyType(type_idx, *file) << " // type@" << type_idx; in DumpString()
268 uint32_t type_idx = VRegC_22c(); in DumpString() local
270 << PrettyType(type_idx, *file) << " // type@" << type_idx; in DumpString()
Dmethod_helper-inl.h46 inline mirror::Class* MethodHelper::GetClassFromTypeIdx(uint16_t type_idx, bool resolve) { in GetClassFromTypeIdx() argument
48 mirror::Class* type = method->GetDexCacheResolvedType(type_idx); in GetClassFromTypeIdx()
50 type = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in GetClassFromTypeIdx()
Dclass_linker-inl.h75 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, in ResolveType() argument
77 mirror::Class* resolved_type = referrer->GetDexCacheResolvedType(type_idx); in ResolveType()
84 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); in ResolveType()
91 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, mirror::ArtField* referrer) { in ResolveType() argument
94 mirror::Class* resolved_type = dex_cache_ptr->GetResolvedType(type_idx); in ResolveType()
100 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); in ResolveType()
Ddex_file_verifier.cc76 const char* DexFileVerifier::CheckLoadStringByTypeIdx(uint32_t type_idx, const char* error_string) { in CheckLoadStringByTypeIdx() argument
77 if (UNLIKELY(!CheckIndex(type_idx, dex_file_->NumTypeIds(), error_string))) { in CheckLoadStringByTypeIdx()
80 const DexFile::TypeId& type_id = dex_file_->GetTypeId(type_idx); in CheckLoadStringByTypeIdx()
107 #define LOAD_STRING_BY_TYPE(var, type_idx, error) \ argument
108 const char* var = CheckLoadStringByTypeIdx(type_idx, error); \
423 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); in CheckAndGetHandlerOffsets() local
424 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { in CheckAndGetHandlerOffsets()
944 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); in CheckIntraDebugInfoItem() local
945 if (type_idx != 0) { in CheckIntraDebugInfoItem()
946 type_idx--; in CheckIntraDebugInfoItem()
[all …]
Ddex_file.cc440 uint16_t type_idx = GetIndexForTypeId(*type_id); in FindClassDef() local
443 if (class_def.class_idx_ == type_idx) { in FindClassDef()
471 const DexFile::ClassDef* DexFile::FindClassDef(uint16_t type_idx) const { in FindClassDef()
475 if (class_def.class_idx_ == type_idx) { in FindClassDef()
488 const uint16_t type_idx = GetIndexForTypeId(type); in FindFieldId() local
504 if (type_idx > field.type_idx_) { in FindFieldId()
506 } else if (type_idx < field.type_idx_) { in FindFieldId()
686 uint16_t type_idx = GetIndexForTypeId(*type_id); in CreateTypeList() local
688 param_type_idxs->push_back(type_idx); in CreateTypeList()
690 *return_type_idx = type_idx; in CreateTypeList()
Dmethod_helper.h114 mirror::Class* GetClassFromTypeIdx(uint16_t type_idx, bool resolve = true)
Ddex_file_verifier.h104 const char* CheckLoadStringByTypeIdx(uint32_t type_idx, const char* error_fmt);
/art/compiler/dex/quick/
Dgen_common.cc353 void Mir2Lir::GenNewArray(uint32_t type_idx, RegLocation rl_dest, in GenNewArray() argument
358 if (cu_->compiler_driver->CanAccessTypeWithoutChecks(cu_->method_idx, *dex_file, type_idx)) { in GenNewArray()
364 driver->CanEmbedTypeInCode(*dex_file, type_idx, &is_type_initialized, &use_direct_type_ptr, in GenNewArray()
368 LoadClassType(type_idx, kArg0); in GenNewArray()
378 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArray, type_idx, rl_src, true); in GenNewArray()
381 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayWithAccessCheck, type_idx, rl_src, true); in GenNewArray()
394 int type_idx = info->index; in GenFilledNewArray() local
398 type_idx)) { in GenFilledNewArray()
403 CallRuntimeHelperImmMethodImm(target, type_idx, elems, true); in GenFilledNewArray()
821 void Mir2Lir::GenConstClass(uint32_t type_idx, RegLocation rl_dest) { in GenConstClass() argument
[all …]
Dmir_to_lir.h848 void GenNewArray(uint32_t type_idx, RegLocation rl_dest,
862 void GenConstClass(uint32_t type_idx, RegLocation rl_dest);
864 void GenNewInstance(uint32_t type_idx, RegLocation rl_dest);
866 void GenInstanceof(uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src);
867 void GenCheckCast(uint32_t insn_idx, uint32_t type_idx, RegLocation rl_src);
1120 virtual void LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg);
1508 virtual void GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx,
1528 uint32_t type_idx, RegLocation rl_dest,
/art/runtime/mirror/
Ddex_cache-inl.h46 inline void DexCache::SetResolvedType(uint32_t type_idx, Class* resolved) { in SetResolvedType() argument
49 GetResolvedTypes()->Set(type_idx, resolved); in SetResolvedType()
Ddex_cache.h100 Class* GetResolvedType(uint32_t type_idx) ALWAYS_INLINE in GetResolvedType() argument
102 return GetResolvedTypes()->Get(type_idx); in GetResolvedType()
105 void SetResolvedType(uint32_t type_idx, Class* resolved)
Dart_method-inl.h470 inline bool ArtMethod::IsResolvedTypeIdx(uint16_t type_idx) { in IsResolvedTypeIdx() argument
472 return method->GetDexCacheResolvedType(type_idx) != nullptr; in IsResolvedTypeIdx()
519 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(uint16_t type_idx) { in GetTypeDescriptorFromTypeIdx() argument
522 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx)); in GetTypeDescriptorFromTypeIdx()
Dart_method.h224 Class* GetDexCacheResolvedType(uint32_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
520 bool IsResolvedTypeIdx(uint16_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
536 const char* GetTypeDescriptorFromTypeIdx(uint16_t type_idx)
/art/compiler/dex/portable/
Dmir_to_gbc.h139 void ConvertCheckCast(uint32_t type_idx, RegLocation rl_src);
140 void ConvertNewInstance(uint32_t type_idx, RegLocation rl_dest);
141 void ConvertNewArray(uint32_t type_idx, RegLocation rl_dest,
151 void ConvertInstanceOf(uint32_t type_idx, RegLocation rl_dest,
/art/compiler/llvm/
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) { in EmitLoadDexCacheResolvedTypeFieldAddr() argument
724 llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx); in EmitLoadDexCacheResolvedTypeFieldAddr()
1016 uint32_t type_idx = in Expand_LoadTypeFromDexCache() local
1020 EmitLoadDexCacheResolvedTypeFieldAddr(type_idx); in Expand_LoadTypeFromDexCache()
1732 uint32_t type_idx) { in EmitLoadConstantClass() argument
1734 *dex_compilation_unit_->GetDexFile(), type_idx)) { in EmitLoadConstantClass()
[all …]
Dintrinsic_func_list.def187 // JavaObject* art_portable_const_class(uint32_t type_idx)
194 // JavaObject* art_portable_initialize_type_and_verify_access(uint32_t type_idx,
203 // JavaObject* art_portable_load_type_from_dex_cache(uint32_t type_idx)
210 // JavaObject* art_portable_initialize_type(uint32_t type_idx,
248 // void art_portable_hl_check_cast(uint32_t type_idx, JavaObject* obj)
266 // JavaObject* art_portable_alloc_object(uint32_t type_idx,
275 // JavaObject* art_portable_alloc_object_with_access_check(uint32_t type_idx,
288 // JavaObject* art_portable_new_instance(uint32_t type_idx)
295 // bool art_portable_instance_of(uint32_t type_idx, JavaObject* ref)
306 // JavaObject* art_portable_new_array(uint32_t type_idx, uint32_t array_size)
[all …]
/art/runtime/native/
Ddalvik_system_VMRuntime.cc245 static void PreloadDexCachesResolveType(mirror::DexCache* dex_cache, uint32_t type_idx) in PreloadDexCachesResolveType() argument
247 mirror::Class* klass = dex_cache->GetResolvedType(type_idx); in PreloadDexCachesResolveType()
252 const char* class_name = dex_file->StringByTypeIdx(type_idx); in PreloadDexCachesResolveType()
263 dex_cache->SetResolvedType(type_idx, klass); in PreloadDexCachesResolveType()
/art/compiler/driver/
Dcompiler_driver.cc827 bool CompilerDriver::CanAssumeTypeIsPresentInDexCache(const DexFile& dex_file, uint32_t type_idx) { in CanAssumeTypeIsPresentInDexCache() argument
829 IsImageClass(dex_file.StringDataByIdx(dex_file.GetTypeId(type_idx).descriptor_idx_))) { in CanAssumeTypeIsPresentInDexCache()
833 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAssumeTypeIsPresentInDexCache()
871 uint32_t type_idx, in CanAccessTypeWithoutChecks() argument
886 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAccessTypeWithoutChecks()
893 *equals_referrers_class = (method_id.class_idx_ == type_idx); in CanAccessTypeWithoutChecks()
919 uint32_t type_idx) { in CanAccessInstantiableTypeWithoutChecks() argument
923 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAccessInstantiableTypeWithoutChecks()
945 bool CompilerDriver::CanEmbedTypeInCode(const DexFile& dex_file, uint32_t type_idx, in CanEmbedTypeInCode() argument
954 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanEmbedTypeInCode()
[all …]

12