RFR: 8292584: assert(cb != __null) failed: must be with -XX:-Inline [v2]

Vladimir Kozlov kvn at openjdk.org
Thu Aug 25 18:17:00 UTC 2022


On Thu, 25 Aug 2022 09:33:26 GMT, Dean Long <dlong at openjdk.org> wrote:

>> generate_Continuation_doYield_entry() creates an interpreter entry point, but jumps to a compiled stub, which needs to be walkable.  The interpreter entry does not create an interpreter frame, so frame walking expects a compiled frame.  Normally everything is OK, but if C1 does not inline the intrinsic and we get to the interpreter entry through the c2i adapter, then things can break if the c2i adapter padded the stack because of alignment.  The easiest fix is to undo what the c2i adapter might have done.
>
> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
> 
>   version 2, make doYield a native intrinsic like enterSpecial

Looks good.
I see you left several `#if 0` and `#if 1`. Do you plan to clean them up?
I see GitHub action testing failures.

I see it is still `DRAFT`.

src/hotspot/share/interpreter/templateInterpreterGenerator.cpp line 228:

> 226: #if 0
> 227:   method_entry(java_lang_continuation_doYield)
> 228: #endif

Leftover?

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

PR: https://git.openjdk.org/jdk/pull/9974


More information about the hotspot-compiler-dev mailing list