--- a/hotspot/src/share/vm/opto/parse2.cpp Fri Jun 26 07:26:10 2009 -0700
+++ b/hotspot/src/share/vm/opto/parse2.cpp Fri Jun 26 13:03:29 2009 -0700
@@ -1565,7 +1565,7 @@
c = pop(); // Oop to store
b = pop(); // index (already used)
a = pop(); // the array itself
- const Type* elemtype = _gvn.type(a)->is_aryptr()->elem();
+ const TypeOopPtr* elemtype = _gvn.type(a)->is_aryptr()->elem()->is_oopptr();
const TypeAryPtr* adr_type = TypeAryPtr::OOPS;
Node* store = store_oop_to_array(control(), a, d, adr_type, c, elemtype, T_OBJECT);
break;