Skip to content

Commit

Permalink
AArch64: Use a method to kill temporary registers in register depende…
Browse files Browse the repository at this point in the history
…ncies

This commit changes JNI Linkage and Private Linkage classes to use
`stopUsingDepRegs` helper method to properly kill temporary registers
added to register dependencies.

Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
  • Loading branch information
Akira1Saitoh committed Sep 2, 2020
1 parent e2a22be commit f8dcb22
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
2 changes: 2 additions & 0 deletions runtime/compiler/aarch64/codegen/ARM64JNILinkage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -946,5 +946,7 @@ TR::Register *J9::ARM64::JNILinkage::buildDirectDispatch(TR::Node *callNode)
generateLabelInstruction(cg(), TR::InstOpCode::label, callNode, depLabel, postLabelDeps);

callNode->setRegister(returnRegister);

deps->stopUsingDepRegs(cg(), returnRegister);
return returnRegister;
}
4 changes: 4 additions & 0 deletions runtime/compiler/aarch64/codegen/ARM64PrivateLinkage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1242,6 +1242,8 @@ TR::Register *J9::ARM64::PrivateLinkage::buildDirectDispatch(TR::Node *callNode)
}

callNode->setRegister(retReg);

dependencies->stopUsingDepRegs(cg(), retReg);
return retReg;
}

Expand Down Expand Up @@ -1439,6 +1441,8 @@ TR::Register *J9::ARM64::PrivateLinkage::buildIndirectDispatch(TR::Node *callNod
}

callNode->setRegister(retReg);

dependencies->stopUsingDepRegs(cg(), retReg);
return retReg;
}

Expand Down

0 comments on commit f8dcb22

Please sign in to comment.