Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8264063: Outer Safepoint poll load should not reference the head of inner strip mined loop. #3365

wants to merge 2 commits into from
Changes from 1 commit
File filter
Filter file types
Jump to
Jump to file
Failed to load files.


Just for now

@@ -3701,16 +3701,6 @@ bool PhaseIdealLoop::match_fill_loop(IdealLoopTree* lpt, Node*& store, Node*& st
for (SimpleDUIterator iter(n); iter.has_next(); {
Node* use = iter.get();
if (!lpt->_body.contains(use)) {
if (n->is_CountedLoop() && n->as_CountedLoop()->is_strip_mined()) {
// In strip-mined counted loops, the CountedLoopNode may be
// used by the address polling node of the outer safepoint.
// Skip this use because it's safe.
Node* sfpt = n->as_CountedLoop()->outer_safepoint();
Node* polladr = sfpt->in(TypeFunc::Parms+0);
if (use == polladr) {
msg = "node is used outside loop";
msg_node = n;
ProTip! Use n and p to navigate between commits in a pull request.