Mercurial > hg > truffle
comparison src/share/vm/opto/gcm.cpp @ 681:fbde8ec322d0
6761600: Use sse 4.2 in intrinsics
Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.
Reviewed-by: kvn, never, jrose
author | cfang |
---|---|
date | Tue, 31 Mar 2009 14:07:08 -0700 |
parents | fbc12e71c476 |
children | 1851e1fb420e |
comparison
equal
deleted
inserted
replaced
676:d3676b4cb78c | 681: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. |