Change Class::component_type_ and implement reflect.Array
Change-Id: I9e06f31577551c738eca2621146c8d2328119442
diff --git a/src/java_lang_System.cc b/src/java_lang_System.cc
index fc13839..4eaaa66 100644
--- a/src/java_lang_System.cc
+++ b/src/java_lang_System.cc
@@ -182,10 +182,10 @@
}
// Neither class is primitive. Are the types trivially compatible?
- const int width = sizeof(Object*);
- bool sameDimensions = srcArray->GetClass()->GetArrayRank() == dstArray->GetClass()->GetArrayRank();
- if (sameDimensions && srcComponentType->InstanceOf(dstComponentType)) {
+ const size_t width = sizeof(Object*);
+ if (dstComponentType->IsAssignableFrom(srcComponentType)) {
// Yes. Bulk copy.
+ DCHECK_EQ(width, sizeof(uint32_t));
move32(dstBytes + dstPos * width, srcBytes + srcPos * width, length * width);
Heap::WriteBarrier(dstArray);
return;