RFR: 8275908: Record null_check traps for calls and array_check traps in the interpreter [v2]
Christian Hagedorn
chagedorn at openjdk.java.net
Fri Nov 26 09:23:18 UTC 2021
On Thu, 25 Nov 2021 17:51:45 GMT, Volker Simonis <simonis at openjdk.org> wrote:
>> `null_checks` occurring at invoke bytecodes are currently not recorded by the profiler. This leads to unnecessary uncommon traps, deoptimizations and recompilations for exceptions which already occurred before the compilation (i.e. are "hot"). This change fixes the problem in the interpreter.
>>
>> `array_checks` are currently recorded as `class_checks` in the interpreter and therefore not recognized by the compiler. This again leads to uncommon traps, deoptimizations and recompilations. This change unifies the handling of `array_checks` in the interpreter and compiler and prevents unnecessary recompilation.
>>
>> The test is a stripped down version of a test which was developed for [JDK-8273563: Improve performance of implicit exceptions with -XX:-OmitStackTraceInFastThrow](https://bugs.openjdk.java.net/browse/JDK-8273563) (still [under review](https://github.com/openjdk/jdk/pull/5488)). It introduces an extension to the Whitebox API to expose the decompile, deopt and trap counters which is also required for testing [JDK-8273563](https://bugs.openjdk.java.net/browse/JDK-8273563). I think (and hope) it will also be helpful for others in the future.
>
> Volker Simonis has updated the pull request incrementally with one additional commit since the last revision:
>
> Simplified test OptimizeImplicitExceptions.java and added Decompile.java test. Includes minor fixes requested by Martin and Christian
Thanks for doing the changes, they look good to me!
> @chhagedorn: I'm especially happy that you like the tests. As all too often the effort for a good test is much higher than for the fix itself :)
Yes, I couldn't agree more to that. It's sometimes underestimated how much time that is needed to come up with a good test. So, I always appreciate the extra effort :)
-------------
Marked as reviewed by chagedorn (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/6541
More information about the hotspot-dev
mailing list