diff options
author | 2017-01-13 16:04:53 +0000 | |
---|---|---|
committer | 2017-01-18 11:12:33 +0000 | |
commit | 39cee66a8ddf0254626c9591662cf87e4a1cedc4 (patch) | |
tree | be25df71e51ce03a8847c23934322b8f282a291b /runtime/entrypoints/entrypoint_utils.cc | |
parent | a3974581751cd73a896f7c4fcab71beb17c4f9dc (diff) |
Entrypoints cleanup.
Remove unused ones to facilitate the transition to compressed
dex caches.
test: test-art-host, test-art-target
Change-Id: I1d1cb0daffa86dd9dda2eaa3c1ea3650a5c8d9d0
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils.cc')
-rw-r--r-- | runtime/entrypoints/entrypoint_utils.cc | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/runtime/entrypoints/entrypoint_utils.cc b/runtime/entrypoints/entrypoint_utils.cc index fa94ef822b..25fd727968 100644 --- a/runtime/entrypoints/entrypoint_utils.cc +++ b/runtime/entrypoints/entrypoint_utils.cc @@ -38,90 +38,6 @@ namespace art { -static inline mirror::Class* CheckFilledNewArrayAlloc(dex::TypeIndex type_idx, - int32_t component_count, - ArtMethod* referrer, - Thread* self, - bool access_check) - REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Roles::uninterruptible_) { - if (UNLIKELY(component_count < 0)) { - ThrowNegativeArraySizeException(component_count); - return nullptr; // Failure - } - mirror::Class* klass = referrer->GetDexCache()->GetResolvedType(type_idx); - if (UNLIKELY(klass == nullptr)) { // Not in dex cache so try to resolve - ClassLinker* class_linker = Runtime::Current()->GetClassLinker(); - klass = class_linker->ResolveType(type_idx, referrer); - if (klass == nullptr) { // Error - DCHECK(self->IsExceptionPending()); - return nullptr; // Failure - } - } - if (UNLIKELY(klass->IsPrimitive() && !klass->IsPrimitiveInt())) { - if (klass->IsPrimitiveLong() || klass->IsPrimitiveDouble()) { - ThrowRuntimeException("Bad filled array request for type %s", - klass->PrettyDescriptor().c_str()); - } else { - self->ThrowNewExceptionF( - "Ljava/lang/InternalError;", - "Found type %s; filled-new-array not implemented for anything but 'int'", - klass->PrettyDescriptor().c_str()); - } - return nullptr; // Failure - } - if (access_check) { - mirror::Class* referrer_klass = referrer->GetDeclaringClass(); - if (UNLIKELY(!referrer_klass->CanAccess(klass))) { - ThrowIllegalAccessErrorClass(referrer_klass, klass); - return nullptr; // Failure - } - } - DCHECK(klass->IsArrayClass()) << klass->PrettyClass(); - return klass; -} - -// Helper function to allocate array for FILLED_NEW_ARRAY. -mirror::Array* CheckAndAllocArrayFromCode(dex::TypeIndex type_idx, - int32_t component_count, - ArtMethod* referrer, - Thread* self, - bool access_check, - gc::AllocatorType allocator_type ATTRIBUTE_UNUSED) { - mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, component_count, referrer, self, - access_check); - if (UNLIKELY(klass == nullptr)) { - return nullptr; - } - // Always go slow path for now, filled new array is not common. - gc::Heap* heap = Runtime::Current()->GetHeap(); - // Use the current allocator type in case CheckFilledNewArrayAlloc caused us to suspend and then - // the heap switched the allocator type while we were suspended. - return mirror::Array::Alloc<false>(self, klass, component_count, - klass->GetComponentSizeShift(), - heap->GetCurrentAllocator()); -} - -// Helper function to allocate array for FILLED_NEW_ARRAY. -mirror::Array* CheckAndAllocArrayFromCodeInstrumented( - dex::TypeIndex type_idx, - int32_t component_count, - ArtMethod* referrer, - Thread* self, - bool access_check, - gc::AllocatorType allocator_type ATTRIBUTE_UNUSED) { - mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, component_count, referrer, self, - access_check); - if (UNLIKELY(klass == nullptr)) { - return nullptr; - } - gc::Heap* heap = Runtime::Current()->GetHeap(); - // Use the current allocator type in case CheckFilledNewArrayAlloc caused us to suspend and then - // the heap switched the allocator type while we were suspended. - return mirror::Array::Alloc<true>(self, klass, component_count, - klass->GetComponentSizeShift(), - heap->GetCurrentAllocator()); -} - void CheckReferenceResult(Handle<mirror::Object> o, Thread* self) { if (o.Get() == nullptr) { return; |