Mercurial > hg > openjdk > hsx16
changeset 917:e502d7524e3a
6827605: new String intrinsics may prevent EA scalar replacement
Summary: don't use SSE42 string indexOf intrinsic if it is called for new object which could be scalar replaced.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 26 Aug 2009 10:46:24 -0700 |
parents | 50a95aa4a247 |
children | 9f00229d78ce |
files | src/share/vm/opto/library_call.cpp |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/library_call.cpp Fri Aug 21 20:16:58 2009 -0700 +++ b/src/share/vm/opto/library_call.cpp Wed Aug 26 10:46:24 2009 -0700 @@ -1089,8 +1089,12 @@ Node *argument = pop(); // pop non-receiver first: it was pushed second Node *receiver = pop(); + Node* alloc = NULL; + if (DoEscapeAnalysis && argument->is_Con()) + alloc = AllocateNode::Ideal_allocation(receiver, &_gvn); + Node* result; - if (Matcher::has_match_rule(Op_StrIndexOf) && + if (Matcher::has_match_rule(Op_StrIndexOf) && alloc == NULL && UseSSE42Intrinsics) { // Generate SSE4.2 version of indexOf // We currently only have match rules that use SSE4.2