Mercurial > hg > truffle
diff src/share/vm/opto/parse3.cpp @ 825:8f5825e0aeaa
6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
author | never |
---|---|
date | Fri, 26 Jun 2009 13:03:29 -0700 |
parents | 9c6be3edf0dc |
children | bf3489cc0aa0 |
line wrap: on
line diff
--- a/src/share/vm/opto/parse3.cpp Fri Jun 26 07:26:10 2009 -0700 +++ b/src/share/vm/opto/parse3.cpp Fri Jun 26 13:03:29 2009 -0700 @@ -222,7 +222,7 @@ // Store the value. Node* store; if (bt == T_OBJECT) { - const TypePtr* field_type; + const TypeOopPtr* field_type; if (!field->type()->is_loaded()) { field_type = TypeInstPtr::BOTTOM; } else { @@ -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 Type* elemtype = _gvn.type(array)->is_aryptr()->elem(); + const TypeOopPtr* elemtype = _gvn.type(array)->is_aryptr()->elem()->is_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);