RFR: 8340141: C1: rework ciMethod::equals following 8338471 [v7]

Dean Long dlong at openjdk.org
Wed Oct 16 01:49:16 UTC 2024


On Wed, 16 Oct 2024 01:44:42 GMT, Dean Long <dlong at openjdk.org> wrote:

>> This PR changes ciMethod::equals() to a special-purpose debug helper method for the one place in C1 that uses it in an assert.  The reason why making it general purpose is difficult is because JVMTI can add and delete methods.   See the bug report and JDK-8338471 for more details.  I'm open to suggestions for a better name than equals_ignore_version().
>> 
>> An alternative approach, which I think may actually be better, would be to check for old methods first, and bail out if we see any.  Then we can change the assert back to how it was originally, using ==.
>
> Dean Long has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
> 
>  - remove blank line
>  - Merge master
>  - bail out on old methods
>  - redo VM state
>  - fix errors
>  - make sure to be in VM state when checking is_old
>  - simplification based on reviewer comments
>  - rename and restrict usage

Added bailouts.  Because we record failure in CI layer, C1 and C2 need to check for failure there.  C2 already did that, but C1 did not.  For C1 I decided to delegate all failure recording to the CI layer.  This is a step towards implementing JDK-8132354, and avoids string copying issues like those in JDK-8325095.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21148#issuecomment-2415558355


More information about the hotspot-compiler-dev mailing list