Revert "ARM64 asm for region space array allocation"
This change breaks many tests on the ARM64 concurrent
collector configuration.
Bug: 30162165
Bug: 12687968
This reverts commit f686c3feabe3519bedd1f3001e5dd598f46946ef.
Change-Id: I5d7ef5fa2ffb6a8d9a4d3adbcc14854efa257313
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h
index 8f6ce44..5c490de 100644
--- a/runtime/mirror/class.h
+++ b/runtime/mirror/class.h
@@ -64,12 +64,6 @@
// 2 ref instance fields.]
static constexpr uint32_t kClassWalkSuper = 0xC0000000;
- // Shift primitive type by kPrimitiveTypeSizeShiftShift to get the component type size shift
- // Used for computing array size as follows:
- // array_bytes = header_size + (elements << (primitive_type >> kPrimitiveTypeSizeShiftShift))
- static constexpr uint32_t kPrimitiveTypeSizeShiftShift = 16;
- static constexpr uint32_t kPrimitiveTypeMask = (1u << kPrimitiveTypeSizeShiftShift) - 1;
-
// Class Status
//
// kStatusRetired: Class that's temporarily used till class linking time
@@ -377,10 +371,10 @@
void SetPrimitiveType(Primitive::Type new_type) SHARED_REQUIRES(Locks::mutator_lock_) {
DCHECK_EQ(sizeof(Primitive::Type), sizeof(int32_t));
- uint32_t v32 = static_cast<uint32_t>(new_type);
- DCHECK_EQ(v32 & kPrimitiveTypeMask, v32) << "upper 16 bits aren't zero";
+ int32_t v32 = static_cast<int32_t>(new_type);
+ DCHECK_EQ(v32 & 0xFFFF, v32) << "upper 16 bits aren't zero";
// Store the component size shift in the upper 16 bits.
- v32 |= Primitive::ComponentSizeShift(new_type) << kPrimitiveTypeSizeShiftShift;
+ v32 |= Primitive::ComponentSizeShift(new_type) << 16;
SetField32<false>(OFFSET_OF_OBJECT_MEMBER(Class, primitive_type_), v32);
}