8144212: JDK 9 b93 breaks Apache Lucene due to compact strings

String compress/inflate intrinsics need to capture char and byte memory.

Reviewed-by: aph, roland, kvn
This commit is contained in:
Tobias Hartmann 2016-01-18 08:34:14 +01:00
parent 90ac004ff6
commit 01a4b31e78
5 changed files with 129 additions and 14 deletions

View file

@ -1466,7 +1466,7 @@ void PhaseStringOpts::copy_latin1_string(GraphKit& kit, IdealKit& ideal, Node* s
// Use fast intrinsic
Node* src = kit.array_element_address(src_array, kit.intcon(0), T_BYTE);
Node* dst = kit.array_element_address(dst_array, start, T_BYTE);
kit.inflate_string(src, dst, __ value(count));
kit.inflate_string(src, dst, TypeAryPtr::BYTES, __ value(count));
} else {
// No intrinsic available, use slow method
kit.inflate_string_slow(src_array, dst_array, start, __ value(count));