Skip to content

Commit

Permalink
8277212: GC accidentally cleans valid megamorphic vtable inline caches
Browse files Browse the repository at this point in the history
Reviewed-by: eosterlund, pliden, coleenp, thartmann
  • Loading branch information
stefank committed Nov 19, 2021
1 parent 03f8c0f commit 976c2bb
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/hotspot/share/code/compiledMethod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,10 @@ bool CompiledMethod::clean_ic_if_metadata_is_dead(CompiledIC *ic) {
} else {
ShouldNotReachHere();
}
} else {
// This inline cache is a megamorphic vtable call. Those ICs never hold
// any Metadata and should therefore never be cleaned by this function.
return true;
}
}

Expand Down

3 comments on commit 976c2bb

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stefank
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/backport jdk17u

@openjdk
Copy link

@openjdk openjdk bot commented on 976c2bb Nov 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stefank the backport was successfully created on the branch stefank-backport-976c2bb0 in my personal fork of openjdk/jdk17u. To create a pull request with this backport targeting openjdk/jdk17u:master, just click the following link:

➡️ Create pull request

The title of the pull request is automatically filled in correctly and below you find a suggestion for the pull request body:

Hi all,

This pull request contains a backport of commit 976c2bb0 from the openjdk/jdk repository.

The commit being backported was authored by Stefan Karlsson on 19 Nov 2021 and was reviewed by Erik Österlund, Per Liden, Coleen Phillimore and Tobias Hartmann.

Thanks!

If you need to update the source branch of the pull then run the following commands in a local clone of your personal fork of openjdk/jdk17u:

$ git fetch https://github.com/openjdk-bots/jdk17u stefank-backport-976c2bb0:stefank-backport-976c2bb0
$ git checkout stefank-backport-976c2bb0
# make changes
$ git add paths/to/changed/files
$ git commit --message 'Describe additional changes made'
$ git push https://github.com/openjdk-bots/jdk17u stefank-backport-976c2bb0

Please sign in to comment.