< prev index next >
src/share/vm/opto/library_call.cpp
Print this page
*** 1357,1369 ****
Node* dst_start = array_element_address(dst, dst_offset, dst_elem);
// 'src_start' points to src array + scaled offset
// 'dst_start' points to dst array + scaled offset
Node* count = NULL;
if (compress) {
! count = compress_string(src_start, dst_start, length);
} else {
! inflate_string(src_start, dst_start, length);
}
if (alloc != NULL) {
if (alloc->maybe_set_complete(&_gvn)) {
// "You break it, you buy it."
--- 1357,1369 ----
Node* dst_start = array_element_address(dst, dst_offset, dst_elem);
// 'src_start' points to src array + scaled offset
// 'dst_start' points to dst array + scaled offset
Node* count = NULL;
if (compress) {
! count = compress_string(src_start, TypeAryPtr::get_array_body_type(src_elem), dst_start, length);
} else {
! inflate_string(src_start, dst_start, TypeAryPtr::get_array_body_type(dst_elem), length);
}
if (alloc != NULL) {
if (alloc->maybe_set_complete(&_gvn)) {
// "You break it, you buy it."
*** 1585,1595 ****
Node* adr = array_element_address(value, index, T_CHAR);
if (is_store) {
(void) store_to_memory(control(), adr, ch, T_CHAR, TypeAryPtr::BYTES, MemNode::unordered,
false, false, true /* mismatched */);
} else {
! ch = make_load(control(), adr, TypeInt::CHAR, T_CHAR, MemNode::unordered,
LoadNode::DependsOnlyOnTest, false, false, true /* mismatched */);
set_result(ch);
}
return true;
}
--- 1585,1595 ----
Node* adr = array_element_address(value, index, T_CHAR);
if (is_store) {
(void) store_to_memory(control(), adr, ch, T_CHAR, TypeAryPtr::BYTES, MemNode::unordered,
false, false, true /* mismatched */);
} else {
! ch = make_load(control(), adr, TypeInt::CHAR, T_CHAR, TypeAryPtr::BYTES, MemNode::unordered,
LoadNode::DependsOnlyOnTest, false, false, true /* mismatched */);
set_result(ch);
}
return true;
}
< prev index next >