1114 Node* sourceCounta = basic_plus_adr(string_object, string_object, count_offset); |
1114 Node* sourceCounta = basic_plus_adr(string_object, string_object, count_offset); |
1115 Node* sourceCount = make_load(no_ctrl, sourceCounta, TypeInt::INT, T_INT, string_type->add_offset(count_offset)); |
1115 Node* sourceCount = make_load(no_ctrl, sourceCounta, TypeInt::INT, T_INT, string_type->add_offset(count_offset)); |
1116 Node* sourcea = basic_plus_adr(string_object, string_object, value_offset); |
1116 Node* sourcea = basic_plus_adr(string_object, string_object, value_offset); |
1117 Node* source = make_load(no_ctrl, sourcea, source_type, T_OBJECT, string_type->add_offset(value_offset)); |
1117 Node* source = make_load(no_ctrl, sourcea, source_type, T_OBJECT, string_type->add_offset(value_offset)); |
1118 |
1118 |
1119 Node* target = _gvn.transform( makecon(TypeOopPtr::make_from_constant(target_array)) ); |
1119 Node* target = _gvn.transform( makecon(TypeOopPtr::make_from_constant(target_array, true)) ); |
1120 jint target_length = target_array->length(); |
1120 jint target_length = target_array->length(); |
1121 const TypeAry* target_array_type = TypeAry::make(TypeInt::CHAR, TypeInt::make(0, target_length, Type::WidenMin)); |
1121 const TypeAry* target_array_type = TypeAry::make(TypeInt::CHAR, TypeInt::make(0, target_length, Type::WidenMin)); |
1122 const TypeAryPtr* target_type = TypeAryPtr::make(TypePtr::BotPTR, target_array_type, target_array->klass(), true, Type::OffsetBot); |
1122 const TypeAryPtr* target_type = TypeAryPtr::make(TypePtr::BotPTR, target_array_type, target_array->klass(), true, Type::OffsetBot); |
1123 |
1123 |
1124 IdealKit kit(gvn(), control(), merged_memory(), false, true); |
1124 IdealKit kit(gvn(), control(), merged_memory(), false, true); |