--- a/hotspot/src/share/vm/opto/parse3.cpp Fri Jun 26 16:14:31 2009 -0700
+++ b/hotspot/src/share/vm/opto/parse3.cpp Wed Jul 01 12:22:23 2009 -0700
@@ -361,7 +361,7 @@
guarantee(length_con >= 0, "non-constant multianewarray");
ciArrayKlass* array_klass_1 = array_klass->as_obj_array_klass()->element_klass()->as_array_klass();
const TypePtr* adr_type = TypeAryPtr::OOPS;
- const TypeOopPtr* elemtype = _gvn.type(array)->is_aryptr()->elem()->is_oopptr();
+ const TypeOopPtr* elemtype = _gvn.type(array)->is_aryptr()->elem()->make_oopptr();
const intptr_t header = arrayOopDesc::base_offset_in_bytes(T_OBJECT);
for (jint i = 0; i < length_con; i++) {
Node* elem = expand_multianewarray(array_klass_1, &lengths[1], ndimensions-1, nargs);