--- old/src/share/vm/opto/parse2.cpp 2017-06-26 12:50:31.099902909 +0200 +++ new/src/share/vm/opto/parse2.cpp 2017-06-26 12:50:31.011902914 +0200 @@ -1756,12 +1756,12 @@ const Type* elemtype = arytype->elem(); if (elemtype->isa_valuetype()) { - c->as_ValueType()->store(this, a, d); + c->as_ValueType()->store_flattened(this, a, d); break; } const TypeAryPtr* adr_type = TypeAryPtr::OOPS; - Node* oop = c->as_ValueType()->store_to_memory(this); + Node* oop = c->as_ValueType()->allocate(this); Node* store = store_oop_to_array(control(), a, d, adr_type, oop, elemtype->make_oopptr(), T_OBJECT, StoreNode::release_if_reference(T_OBJECT)); break;