8025599: Missing store barrier with OptimizeStringConcat

Mon, 30 Sep 2013 15:42:39 -0700

author
twisti
date
Mon, 30 Sep 2013 15:42:39 -0700
changeset 5799
d8d059e90ec1
parent 5798
29bdcf12457c
child 5800
dc261f466b6d

8025599: Missing store barrier with OptimizeStringConcat
Reviewed-by: kvn, twisti
Contributed-by: Axel Siebenborn <axel.siebenborn@sap.com>

src/share/vm/opto/graphKit.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/graphKit.cpp	Fri Sep 27 11:52:24 2013 +0400
     1.2 +++ b/src/share/vm/opto/graphKit.cpp	Mon Sep 30 15:42:39 2013 -0700
     1.3 @@ -3849,9 +3849,9 @@
     1.4    const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),
     1.5                                                       false, NULL, 0);
     1.6    const TypePtr* value_field_type = string_type->add_offset(value_offset);
     1.7 -  int value_field_idx = C->get_alias_index(value_field_type);
     1.8 -  store_to_memory(ctrl, basic_plus_adr(str, value_offset),
     1.9 -                  value, T_OBJECT, value_field_idx);
    1.10 +
    1.11 +  store_oop_to_object(ctrl, str,  basic_plus_adr(str, value_offset), value_field_type,
    1.12 +      value, TypeAryPtr::CHARS, T_OBJECT);
    1.13  }
    1.14  
    1.15  void GraphKit::store_String_length(Node* ctrl, Node* str, Node* value) {

mercurial