[jdk18] RFR: 8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert

Roland Westrelin roland at openjdk.java.net
Wed Jan 5 12:53:30 UTC 2022


On Mon, 3 Jan 2022 19:09:37 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> But my original point still stands: why can't `GraphKit::builtin_throw()` be taught to distinguish between throwing and uncommon trap cases and adjust JVM state accordingly? In this particular case, it seems simpler to start with the JVM state for re-execution (before call) and switch to the JVM state after the call (pop arguments from the stack) when an exception is thrown.

Then what's on the stack doesn't matter so why not pop the stack instead?
There's some discussion about that in the initial PR (before the jdk18 fork): https://github.com/openjdk/jdk/pull/6572
And a follow up bug: https://bugs.openjdk.java.net/browse/JDK-8278846

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

PR: https://git.openjdk.java.net/jdk18/pull/29


More information about the hotspot-compiler-dev mailing list