src/share/vm/opto/gcm.cpp

changeset 1116
fbde8ec322d0
parent 1108
fbc12e71c476
child 1223
1851e1fb420e
equal deleted inserted replaced
1111:d3676b4cb78c 1116:fbde8ec322d0
436 if (VerifyAliases) assert(load_alias_idx != Compile::AliasIdxBot, ""); 436 if (VerifyAliases) assert(load_alias_idx != Compile::AliasIdxBot, "");
437 } 437 }
438 #endif 438 #endif
439 assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrComp), 439 assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrComp),
440 "String compare is only known 'load' that does not conflict with any stores"); 440 "String compare is only known 'load' that does not conflict with any stores");
441 assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrEquals),
442 "String equals is a 'load' that does not conflict with any stores");
443 assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrIndexOf),
444 "String indexOf is a 'load' that does not conflict with any stores");
445 assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_AryEq),
446 "Arrays equals is a 'load' that do not conflict with any stores");
441 447
442 if (!C->alias_type(load_alias_idx)->is_rewritable()) { 448 if (!C->alias_type(load_alias_idx)->is_rewritable()) {
443 // It is impossible to spoil this load by putting stores before it, 449 // It is impossible to spoil this load by putting stores before it,
444 // because we know that the stores will never update the value 450 // because we know that the stores will never update the value
445 // which 'load' must witness. 451 // which 'load' must witness.

mercurial