hotspot/src/share/vm/opto/graphKit.cpp
changeset 43422 d4693bf78777
parent 41055 f9014f1e7dfc
child 43481 47657134c5c2
equal deleted inserted replaced
43421:077af5bb5fa4 43422:d4693bf78777
  4346   }
  4346   }
  4347   return load;
  4347   return load;
  4348 }
  4348 }
  4349 
  4349 
  4350 Node* GraphKit::load_String_coder(Node* ctrl, Node* str) {
  4350 Node* GraphKit::load_String_coder(Node* ctrl, Node* str) {
  4351   if (java_lang_String::has_coder_field()) {
  4351   if (!CompactStrings) {
  4352     if (!CompactStrings) {
  4352     return intcon(java_lang_String::CODER_UTF16);
  4353       return intcon(java_lang_String::CODER_UTF16);
  4353   }
  4354     }
  4354   int coder_offset = java_lang_String::coder_offset_in_bytes();
  4355     int coder_offset = java_lang_String::coder_offset_in_bytes();
  4355   const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),
  4356     const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),
  4356                                                      false, NULL, 0);
  4357                                                        false, NULL, 0);
  4357   const TypePtr* coder_field_type = string_type->add_offset(coder_offset);
  4358     const TypePtr* coder_field_type = string_type->add_offset(coder_offset);
  4358   int coder_field_idx = C->get_alias_index(coder_field_type);
  4359     int coder_field_idx = C->get_alias_index(coder_field_type);
  4359   return make_load(ctrl, basic_plus_adr(str, str, coder_offset),
  4360     return make_load(ctrl, basic_plus_adr(str, str, coder_offset),
  4360                    TypeInt::BYTE, T_BYTE, coder_field_idx, MemNode::unordered);
  4361                      TypeInt::BYTE, T_BYTE, coder_field_idx, MemNode::unordered);
       
  4362   } else {
       
  4363     return intcon(0); // false
       
  4364   }
       
  4365 }
  4361 }
  4366 
  4362 
  4367 void GraphKit::store_String_value(Node* ctrl, Node* str, Node* value) {
  4363 void GraphKit::store_String_value(Node* ctrl, Node* str, Node* value) {
  4368   int value_offset = java_lang_String::value_offset_in_bytes();
  4364   int value_offset = java_lang_String::value_offset_in_bytes();
  4369   const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),
  4365   const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),