From 104883b04617a850adf11f05e57c2fd29e09c83c Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Fri, 9 Nov 2018 17:12:23 +0000 Subject: Clean up primitive array helpers in Object. Refactor these helpers and avoid read barriers. Remove Class::Is{Int,Long}ArrayClass() and use the Object helpers instead. Remove the AsByteSizedArray() and AsShortSizedArray() helpers that essentially break the type system and rewrite their users, adding appropriate notes. {Float,Double}Array uses in Unsafe would have previously failed a DCHECK(). Test: Additional test in 004-UnsafeTest. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: I88b7e3df7de883f64cfc5eb437a40646f2884685 --- runtime/mirror/class.h | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'runtime/mirror/class.h') diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index 74fca549ea..9923cd3426 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -484,20 +484,6 @@ class MANAGED Class final : public Object { template ALWAYS_INLINE bool IsObjectArrayClass() REQUIRES_SHARED(Locks::mutator_lock_); - template - bool IsIntArrayClass() REQUIRES_SHARED(Locks::mutator_lock_) { - constexpr auto kNewFlags = static_cast(kVerifyFlags & ~kVerifyThis); - auto* component_type = GetComponentType(); - return component_type != nullptr && component_type->template IsPrimitiveInt(); - } - - template - bool IsLongArrayClass() REQUIRES_SHARED(Locks::mutator_lock_) { - constexpr auto kNewFlags = static_cast(kVerifyFlags & ~kVerifyThis); - auto* component_type = GetComponentType(); - return component_type != nullptr && component_type->template IsPrimitiveLong(); - } - // Creates a raw object instance but does not invoke the default constructor. template ALWAYS_INLINE ObjPtr Alloc(Thread* self, gc::AllocatorType allocator_type) -- cgit v1.2.3-59-g8ed1b