comparison src/share/vm/opto/graphKit.cpp @ 954:0f1c19b7a52d

6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp Summary: In load_array_length() cast array's type to TypeOopPtr when calling make_ideal_length() method. Reviewed-by: never
author kvn
date Tue, 08 Sep 2009 10:42:50 -0700
parents 8fe1963e3964
children 26fbe81d30cf
comparison
equal deleted inserted replaced
953:ff1a29907b6c 954:0f1c19b7a52d
1086 if (alloc == NULL) { 1086 if (alloc == NULL) {
1087 Node *r_adr = basic_plus_adr(array, arrayOopDesc::length_offset_in_bytes()); 1087 Node *r_adr = basic_plus_adr(array, arrayOopDesc::length_offset_in_bytes());
1088 alen = _gvn.transform( new (C, 3) LoadRangeNode(0, immutable_memory(), r_adr, TypeInt::POS)); 1088 alen = _gvn.transform( new (C, 3) LoadRangeNode(0, immutable_memory(), r_adr, TypeInt::POS));
1089 } else { 1089 } else {
1090 alen = alloc->Ideal_length(); 1090 alen = alloc->Ideal_length();
1091 Node* ccast = alloc->make_ideal_length(_gvn.type(array)->is_aryptr(), &_gvn); 1091 Node* ccast = alloc->make_ideal_length(_gvn.type(array)->is_oopptr(), &_gvn);
1092 if (ccast != alen) { 1092 if (ccast != alen) {
1093 alen = _gvn.transform(ccast); 1093 alen = _gvn.transform(ccast);
1094 } 1094 }
1095 } 1095 }
1096 return alen; 1096 return alen;