Skip to content

Commit 64d4ef4

Browse files
authored
Merge pull request #19503 from IBMJimmyk/indexOfP10
Remove incorrect check in fast path indexOf code
2 parents fb0df9b + 0ee23c6 commit 64d4ef4

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

runtime/compiler/p/codegen/J9TreeEvaluator.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10862,12 +10862,13 @@ static TR::Register *inlineIntrinsicIndexOf_P10(TR::Node *node, TR::CodeGenerato
1086210862
generateTrg1Src1Instruction(cg, TR::InstOpCode::extsw, node, position, offset);
1086310863
generateTrg1Src1Instruction(cg, TR::InstOpCode::extsw, node, endPos, length);
1086410864

10865-
// sanity check : if str isLatin1, then ch should be isLatin1 too.
10865+
/*
10866+
* Zero out upper bits. ch is later compared against values loaded by lbzx.
10867+
* Comparison expect bits other than the lowest 8 bits are zero.
10868+
*/
1086610869
if (isLatin1)
1086710870
{
10868-
generateTrg1Src1Imm2Instruction(cg, TR::InstOpCode::rlwinm, node, temp, ch, 24, 0xFF);
10869-
generateTrg1Src1ImmInstruction(cg, TR::InstOpCode::cmpi4, node, cr6, temp, 0);
10870-
generateConditionalBranchInstruction(cg, TR::InstOpCode::bne, node, endLabel, cr6);
10871+
generateTrg1Src1Imm2Instruction(cg, TR::InstOpCode::rlwinm, node, ch, ch, 0, 0xFF);
1087110872
}
1087210873

1087310874

0 commit comments

Comments
 (0)