equal
deleted
inserted
replaced
363 const TypePtr* adr_type = TypeAryPtr::OOPS; |
363 const TypePtr* adr_type = TypeAryPtr::OOPS; |
364 const Type* elemtype = _gvn.type(array)->is_aryptr()->elem(); |
364 const Type* elemtype = _gvn.type(array)->is_aryptr()->elem(); |
365 const intptr_t header = arrayOopDesc::base_offset_in_bytes(T_OBJECT); |
365 const intptr_t header = arrayOopDesc::base_offset_in_bytes(T_OBJECT); |
366 for (jint i = 0; i < length_con; i++) { |
366 for (jint i = 0; i < length_con; i++) { |
367 Node* elem = expand_multianewarray(array_klass_1, &lengths[1], ndimensions-1); |
367 Node* elem = expand_multianewarray(array_klass_1, &lengths[1], ndimensions-1); |
368 intptr_t offset = header + ((intptr_t)i << LogBytesPerWord); |
368 intptr_t offset = header + ((intptr_t)i << LogBytesPerHeapOop); |
369 Node* eaddr = basic_plus_adr(array, offset); |
369 Node* eaddr = basic_plus_adr(array, offset); |
370 store_oop_to_array(control(), array, eaddr, adr_type, elem, elemtype, T_OBJECT); |
370 store_oop_to_array(control(), array, eaddr, adr_type, elem, elemtype, T_OBJECT); |
371 } |
371 } |
372 } |
372 } |
373 return array; |
373 return array; |