src/share/vm/opto/library_call.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8057758 Cdiff src/share/vm/opto/library_call.cpp

src/share/vm/opto/library_call.cpp

Print this page
rev 7007 : 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

*** 4966,4976 **** // 'x_start' points to x array + scaled xlen // 'y_start' points to y array + scaled ylen // Allocate the result array Node* zlen = _gvn.transform(new AddINode(xlen, ylen)); ! Node* klass_node = makecon(TypeKlassPtr::make(ciTypeArrayKlass::make(T_INT))); IdealKit ideal(this); #define __ ideal. Node* one = __ ConI(1); --- 4966,4977 ---- // 'x_start' points to x array + scaled xlen // 'y_start' points to y array + scaled ylen // Allocate the result array Node* zlen = _gvn.transform(new AddINode(xlen, ylen)); ! ciKlass* klass = ciTypeArrayKlass::make(T_INT); ! Node* klass_node = makecon(TypeKlassPtr::make(klass)); IdealKit ideal(this); #define __ ideal. Node* one = __ ConI(1);
*** 5000,5010 **** __ set(z_alloc, narr); } __ end_if(); sync_kit(ideal); z = __ value(z_alloc); ! _gvn.set_type(z, TypeAryPtr::INTS); // Final sync IdealKit and GraphKit. final_sync(ideal); #undef __ Node* z_start = array_element_address(z, intcon(0), T_INT); --- 5001,5012 ---- __ set(z_alloc, narr); } __ end_if(); sync_kit(ideal); z = __ value(z_alloc); ! // 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 __ Node* z_start = array_element_address(z, intcon(0), T_INT);
src/share/vm/opto/library_call.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File