# HG changeset patch # User roland # Date 1410302838 25200 # Node ID 4874332f97991146456a52def18e9aa6ef3caaa2 # Parent 42460b71ba70cfce9e526ed2ce9fd9fff44b0740 8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair Summary: Use TypeAryPtr::INT type with offset 0 in inline_multiplyToLen(). Reviewed-by: kvn, iveresov diff -r 42460b71ba70 -r 4874332f9799 src/share/vm/opto/library_call.cpp --- a/src/share/vm/opto/library_call.cpp Mon Jun 23 13:33:23 2014 +0200 +++ b/src/share/vm/opto/library_call.cpp Tue Sep 09 15:47:18 2014 -0700 @@ -5794,7 +5794,8 @@ // Allocate the result array Node* zlen = _gvn.transform(new(C) AddINode(xlen, ylen)); - Node* klass_node = makecon(TypeKlassPtr::make(ciTypeArrayKlass::make(T_INT))); + ciKlass* klass = ciTypeArrayKlass::make(T_INT); + Node* klass_node = makecon(TypeKlassPtr::make(klass)); IdealKit ideal(this); @@ -5828,7 +5829,8 @@ sync_kit(ideal); z = __ value(z_alloc); - _gvn.set_type(z, TypeAryPtr::INTS); + // Can't use TypeAryPtr::INTS which uses Bottom offset. + _gvn.set_type(z, TypeOopPtr::make_from_klass(klass)); // Final sync IdealKit and GraphKit. final_sync(ideal); #undef __