diff options
author | Vladimir Marko <vmarko@google.com> | 2018-11-09 17:12:23 +0000 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2018-11-12 15:26:21 +0000 |
commit | 104883b04617a850adf11f05e57c2fd29e09c83c (patch) | |
tree | 51d436588505a3ead506d633bdf97c9b4c934ae0 /runtime/mirror/array.h | |
parent | 00e96d054e2b656d4d0f99fc141d1701af4dba23 (diff) |
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
Diffstat (limited to 'runtime/mirror/array.h')
-rw-r--r-- | runtime/mirror/array.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/runtime/mirror/array.h b/runtime/mirror/array.h index 7211f30baa..8816c619df 100644 --- a/runtime/mirror/array.h +++ b/runtime/mirror/array.h @@ -193,9 +193,7 @@ extern template class PrimitiveArray<int16_t>; // ShortArray // Either an IntArray or a LongArray. class PointerArray : public Array { public: - template<typename T, - VerifyObjectFlags kVerifyFlags = kVerifyNone, - ReadBarrierOption kReadBarrierOption = kWithReadBarrier> + template<typename T, VerifyObjectFlags kVerifyFlags = kVerifyNone> T GetElementPtrSize(uint32_t idx, PointerSize ptr_size) REQUIRES_SHARED(Locks::mutator_lock_); @@ -216,9 +214,7 @@ class PointerArray : public Array { // Fixup the pointers in the dest arrays by passing our pointers through the visitor. Only copies // to dest if visitor(source_ptr) != source_ptr. - template <VerifyObjectFlags kVerifyFlags = kVerifyNone, - ReadBarrierOption kReadBarrierOption = kWithReadBarrier, - typename Visitor> + template <VerifyObjectFlags kVerifyFlags = kVerifyNone, typename Visitor> void Fixup(mirror::PointerArray* dest, PointerSize pointer_size, const Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); |