[jdk19] RFR: 8288949: serviceability/jvmti/vthread/ContStackDepthTest/ContStackDepthTest.java failing [v3]
Ron Pressler
rpressler at openjdk.org
Wed Jul 6 08:59:46 UTC 2022
On Wed, 6 Jul 2022 02:19:28 GMT, Dean Long <dlong at openjdk.org> wrote:
>> Ron Pressler has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Add an "i2i" entry to enterSpecial
>> - Fix comment
>
> src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp line 1058:
>
>> 1056:
>> 1057: address mark = __ pc();
>> 1058: __ trampoline_call1(resolve, NULL, false);
>
> I don't think it's necessary to call the resolve stub when in interpreted mode. Can't we just call the Method's c2i adapter just like the interpreter would? I guess there might be a startup issue if the adapter hasn't been generated yet.
I couldn't find code that does that and could be easily reused.
> src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp line 1322:
>
>> 1320:
>> 1321: __ pop(rax); // return address
>> 1322: // Read interpreter arguments into registers (this is an ad-hoc i2c adapter)
>
> If I understand this correctly, this allows you to avoid creating an interpreted frame. Pretty clever!
Yeah, it's a hand-rolled i2c adapter. I thought of just calling `gen_i2c_adapter` in place, but that would have required changing it. If we had two separate nmethods, we could rely on the standard i2c, but having two nmethods for a single Method didn't seem safe at this time. We can revisit later.
-------------
PR: https://git.openjdk.org/jdk19/pull/66
More information about the hotspot-compiler-dev
mailing list