< prev index next >
src/share/vm/opto/graphKit.cpp
Print this page
@@ -4339,24 +4339,23 @@
int coder_field_idx = C->get_alias_index(coder_field_type);
store_to_memory(ctrl, basic_plus_adr(str, coder_offset),
value, T_BYTE, coder_field_idx, MemNode::unordered);
}
-Node* GraphKit::compress_string(Node* src, Node* dst, Node* count) {
+Node* GraphKit::compress_string(Node* src, const TypeAryPtr* src_type, Node* dst, Node* count) {
assert(Matcher::match_rule_supported(Op_StrCompressedCopy), "Intrinsic not supported");
- uint idx = C->get_alias_index(TypeAryPtr::BYTES);
- StrCompressedCopyNode* str = new StrCompressedCopyNode(control(), memory(idx), src, dst, count);
+ StrCompressedCopyNode* str = new StrCompressedCopyNode(control(), memory(src_type), src, dst, count);
Node* res_mem = _gvn.transform(new SCMemProjNode(str));
- set_memory(res_mem, idx);
+ set_memory(res_mem, TypeAryPtr::BYTES);
return str;
}
-void GraphKit::inflate_string(Node* src, Node* dst, Node* count) {
+void GraphKit::inflate_string(Node* src, Node* dst, const TypeAryPtr* dst_type, Node* count) {
assert(Matcher::match_rule_supported(Op_StrInflatedCopy), "Intrinsic not supported");
- uint idx = C->get_alias_index(TypeAryPtr::BYTES);
- StrInflatedCopyNode* str = new StrInflatedCopyNode(control(), memory(idx), src, dst, count);
- set_memory(_gvn.transform(str), idx);
+ StrInflatedCopyNode* str = new StrInflatedCopyNode(control(), memory(TypeAryPtr::BYTES), src, dst, count);
+ Node* res_mem = _gvn.transform(new SCMemProjNode(str));
+ set_memory(res_mem, dst_type);
}
void GraphKit::inflate_string_slow(Node* src, Node* dst, Node* start, Node* count) {
/**
* int i_char = start;
< prev index next >