mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
6695049: (coll) Create an x86 intrinsic for Arrays.equals
Intrinsify java/util/Arrays.equals(char[], char[]) Reviewed-by: kvn, never
This commit is contained in:
parent
a1f50998ae
commit
2e672ac9bf
12 changed files with 225 additions and 1 deletions
|
@ -156,7 +156,7 @@ static Node *step_through_mergemem(PhaseGVN *phase, MergeMemNode *mmem, const T
|
|||
phase->C->must_alias(adr_check, alias_idx );
|
||||
// Sometimes dead array references collapse to a[-1], a[-2], or a[-3]
|
||||
if( !consistent && adr_check != NULL && !adr_check->empty() &&
|
||||
tp->isa_aryptr() && tp->offset() == Type::OffsetBot &&
|
||||
tp->isa_aryptr() && tp->offset() == Type::OffsetBot &&
|
||||
adr_check->isa_aryptr() && adr_check->offset() != Type::OffsetBot &&
|
||||
( adr_check->offset() == arrayOopDesc::length_offset_in_bytes() ||
|
||||
adr_check->offset() == oopDesc::klass_offset_in_bytes() ||
|
||||
|
@ -2394,6 +2394,13 @@ Node *StrCompNode::Ideal(PhaseGVN *phase, bool can_reshape){
|
|||
return remove_dead_region(phase, can_reshape) ? this : NULL;
|
||||
}
|
||||
|
||||
//------------------------------Ideal------------------------------------------
|
||||
// Return a node which is more "ideal" than the current node. Strip out
|
||||
// control copies
|
||||
Node *AryEqNode::Ideal(PhaseGVN *phase, bool can_reshape){
|
||||
return remove_dead_region(phase, can_reshape) ? this : NULL;
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
MemBarNode::MemBarNode(Compile* C, int alias_idx, Node* precedent)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue