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

Dean Long dlong at openjdk.org
Tue Nov 26 17:21:16 UTC 2024


On Wed, 23 Oct 2024 22:08:21 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 incrementally with two additional commits since the last revision:
> 
>  - add missing bailout checks
>  - C1 fix

New version.  I was going to add dependencies for any old methods found, but then I realized we check jvmti_state_changed() at the end, which will throw out the compilation if any methods are redefined during the compilation.

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

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


More information about the hotspot-compiler-dev mailing list