You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix array load in transformNullRestrictedArrayCopy
Load the source array and the destination array from
the saved temp instead of commoning the original nodes
incorrectly across blocks.
Related: eclipse-openj9/openj9#19913, eclipse-openj9/openj9#19914
Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
traceMsg(comp(),"Creating temps for children of the original call node n%dn %p. new call node n%dn %p\n", oldCallNode->getGlobalIndex(), oldCallNode, newCallNode->getGlobalIndex(), newCallNode);
1498
1498
1499
+
TR::SymbolReference * dstArrRefSymRef = NULL;
1500
+
TR::SymbolReference * srcArrRefSymRef = NULL;
1501
+
1499
1502
// Create temporaries for System.arraycopy arguments and replace the children of the new call node with the temps
1500
1503
for (int32_t i = 0 ; i < oldCallNode->getNumChildren(); ++i)
traceMsg(comp(),"Created child n%dn %p for old child n%dn %p of the original call node\n", savedChildNode->getGlobalIndex(), savedChildNode, child->getGlobalIndex(), child);
1522
+
traceMsg(comp(),"Created child n%dn %p #%d for old child n%dn %p of the original call node\n", savedChildNode->getGlobalIndex(), savedChildNode, newSymbolReference->getReferenceNumber(),
1523
+
child->getGlobalIndex(), child);
1520
1524
1521
1525
// Create the child for the new call node with a load of the new sym ref
1522
1526
value = TR::Node::createLoad(newCallNode, newSymbolReference);
TR_ASSERT_FATAL(needTestSrcArray || needTestDstArray, "needTestSrcArray %d needTestDstArray %d should not both be false\n", needTestSrcArray, needTestDstArray);
0 commit comments